【发布时间】:2017-03-27 20:37:50
【问题描述】:
我正在尝试使用 WMI 在 Hyper-V 中创建 VM。
ManagementClass virtualSystemManagementService =
new ManagementClass(@"root\virtualization\v2:Msvm_VirtualSystemManagementService");
ManagementBaseObject inParams =
virtualSystemManagementService
.GetMethodParameters("DefineSystem");
// Add the input parameters.
ManagementClass virtualSystemSettingData =
new ManagementClass(@"root\virtualization\v2:Msvm_VirtualSystemSettingData")
{
["ElementName"] = "Test"
};
inParams["SystemSettings"] =
virtualSystemSettingData.GetText(TextFormat.CimDtd20);
// Execute the method and obtain the return values.
ManagementBaseObject outParams =
virtualSystemManagementService
.InvokeMethod("DefineSystem", inParams, null);
对 InvokeMethod 的调用会引发 System.Management.MangementException -“方法参数无效。
我将此代码基于https://blogs.msdn.microsoft.com/virtual_pc_guy/2013/06/20/creating-a-virtual-machine-with-wmi-v2/
我确实意识到使用 powershell 真的很容易,但我正在尝试了解 WMI 方面的工作原理。
【问题讨论】:
-
您是否设法向虚拟服务器添加了 HDD 或一些内存?