我正在尝试通过Powershell通过WMI调用V2名称空间来创建Hyper-V 2012 R2 第2代 VM。
我知道Windows没有内置到Powershell V3的一堆Hyper-V代码,但我也在做一些事情,所以需要自己编写。
看起来非常简单。
我调用defineSystem方法,获取我的VirtualSystemSettingData对象并设置:
$VSSD.ElementName=$VM
$VSSD.VirtualSystemSubtype="Microsoft:Hyper-V:SubType:2"
我认为调用ModifySystemSettings并且没有错误。
VirtualSystemSubType确实= = Microsoft:Hyper-V:SubType:2“,如果我在提交之前读取它,即使我可以验证值,我似乎总是创建第1代VM。我确定我做的事情很傻但我无法发现它。
非常感谢。
答案 0 :(得分:0)
如果有人发生这种情况(不太可能,因为我是愚蠢的)。
我试图在创建之后修改Msvm_VirtualSystemSettingData对象,这对于诸如名称之类的东西来说很好,但看起来不是为了生成(我猜是有道理的)。
生成一个Msvm_VirtualSystemSettingData实例,然后将其传递给DefineSystem,并提供您需要的设置和生成等。
ModifySystemSettings可能可以更好地处理这个问题,但我是以一种有趣的方式解决它,现在我知道它是如何工作的。