更新:首选的解决方案是使用适用于 .NET 的 VmWare 工具包并实现以下目标
我们现在需要执行的任务之一(如果可能)是将虚拟硬盘从非持久模式切换到持久模式,反之亦然。
我已经尝试寻找正确的 API 调用,但还没有找到。有谁知道这是否可以通过 API 调用来完成?
根据VMware vSphere PowerCLI Cmdlets Reference,这应该可以完成这项工作:
Get-HardDisk -VM $myVM | Set-HardDisk -Persistence "Independent(Non)Persistent"
虽然我没有做过这个确切的操作,但是我通过 ReconfigVm 任务做了类似的操作:http: //www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.VirtualMachine.html#reconfigure
您将需要使用更新的 VirtualDevice 设置 VirtualMachineConfigSpec,其 VirtualDeviceBackingInfo 在其 diskMode 属性中具有所需的持久性类型。数据对象记录在这里:
http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.vm.ConfigSpec.html