【发布时间】:2009-02-25 19:41:51
【问题描述】:
我查看了“root\virtualization”命名空间中的几个对象,但我无法找到 Hyper-V 将给定虚拟机的配置文件的路径存储在何处。我需要以编程方式获取此文件路径,或者至少只是给定虚拟机的主路径也可以。什么 WMI 对象和字段存储给定虚拟机的路径(提示它不是 Msvm_ComputerSystem)?
【问题讨论】:
我查看了“root\virtualization”命名空间中的几个对象,但我无法找到 Hyper-V 将给定虚拟机的配置文件的路径存储在何处。我需要以编程方式获取此文件路径,或者至少只是给定虚拟机的主路径也可以。什么 WMI 对象和字段存储给定虚拟机的路径(提示它不是 Msvm_ComputerSystem)?
【问题讨论】:
获取 Msvm_VirtualSystemManagementServiceSettingData 的 DefaultExternalDataRoot 属性以获取 vm 根,并附加 Msvm_ComputerSystem (guid) 的 Name 属性和“.xml”。即使 VM 是在非默认位置创建的,您也会在默认外部数据根目录中看到引用配置文件的符号链接。
【讨论】:
这并不完全正确。在WSS2008R2 中,更改默认VM 数据根时,系统数据根中不会写入任何内容。要查找单个 VM 的数据根,您需要查看 Msvm_VirtualSystemGlobalSettingData,搜索与您的 VM GUID 匹配的 SystemName 属性,然后查看 ExternalDataRoot 和 SnapshotDataRoot 属性以查看与 VM 相关的文件夹。
【讨论】: