Создание виртуально...
 
Уведомления
Очистить все

Создание виртуальной машины с WMI

2 Записи
1 Пользователи
0 Likes
380 Просмотры
82-150 Okolokompa Форум
(@buldozer)
Estimable Member
Присоединился: 4 года назад
Записи: 47
Создатель темы  

Я пытаюсь создать виртуальную машину в Hyper-V через WMI

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);

Возникла проблема с:

objConfig.getText(1);

Объект (Msvm_VirtualSystemSettingData) перемещается сюда в виде текста, но я не знаю, как преобразовать его в текст в формате WmiDtd20.


   
Цитата
82-150 Okolokompa Форум
(@buldozer)
Estimable Member
Присоединился: 4 года назад
Записи: 47
Создатель темы  

Решил проблему сам:

(Кому интересно - смотрите)

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);

   
ОтветитьЦитата
Поделиться: