Creating a Virtual Machine with WMI v2

Odpowiedz Nowy wątek
2020-01-14 15:54
0

Cześć,
próbuję utworzyć maszynę wirtualną w Hyper-V poprzez WMI zgodnie z tym blogiem: https://docs.microsoft.com/pl[...]a-virtual-machine-with-wmi-v2

FWMIService   := FSWbemLocator.ConnectServer('', 'root\virtualization\v2', '', '');
FWbemObject   := FWMIService.Get('Msvm_VirtualSystemSettingData');
objConfig     := FWbemObject.SpawnInstance_;
objConfig.ElementName := 'test';

FWbemObject2 :=  FWMIService.Get('MSVM_VirtualSystemManagementService');
FInParams     := FWbemObject2.Methods_.Item('DefineSystem').InParameters.SpawnInstance_();
FInParams.SystemSettings := objConfig.getText(1);
FInParams.ResourceSettings := null;
FInParams.ReferenceConfiguration := null;
FOutParams    := FWMIService.ExecMethod('MSVM_VirtualSystemManagementService', 'DefineSystem', FInParams);

Ale poległem na

objConfig.getText(1);

W tym miejscu przestawiony jest obiekt (Msvm_VirtualSystemSettingData) w formie tekstu, ale nie wiem jak go prze konwertować na tekst w formacie WmiDtd20

edytowany 1x, ostatnio: furious programming, 2020-01-14 21:03

Pozostało 580 znaków

2020-01-15 08:59

Ok, problem rozwiązałem chwilę po tym jak napisałem ten temat :)

FWMIService   := FSWbemLocator.ConnectServer('', 'root\virtualization\v2','' ,'' );
FWbemObject   := FWMIService.Get('Msvm_VirtualSystemSettingData');
objConfig     := FWbemObject.SpawnInstance_;
objConfig.ElementName := 'test';

FWbemObject2 :=  FWMIService.Get('Msvm_VirtualSystemManagementService.CreationClassName="Msvm_VirtualSystemManagementService",Name="vmms",SystemCreationClassName="Msvm_ComputerSystem",SystemName="' + ComputerName + '"');
FInParams     := FWbemObject2.Methods_.Item('DefineSystem').InParameters.SpawnInstance_();
FInParams.SystemSettings := objConfig.GetText_(1);
FOutParams    := FWMIService.ExecMethod('Msvm_VirtualSystemManagementService.CreationClassName="Msvm_VirtualSystemManagementService",Name="vmms",SystemCreationClassName="Msvm_ComputerSystem",SystemName="' + ComputerName + '"', 'DefineSystem', FInParams);
edytowany 2x, ostatnio: furious programming, 2020-01-15 13:59
Fajnie, że podzieliłeś się rozwiązaniem. ;) - furious programming 2020-01-15 13:59

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0