【发布时间】:2012-03-02 11:53:55
【问题描述】:
更新:首选的解决方案是使用适用于 .NET 的 VmWare 工具包并实现以下目标
我们现在需要执行的任务之一(如果可能的话)是将虚拟硬盘从非持久模式切换到持久模式,反之亦然。
我已尝试寻找正确的 API 调用,但还没有找到。有谁知道这是否可以通过 API 调用来完成?
【问题讨论】:
更新:首选的解决方案是使用适用于 .NET 的 VmWare 工具包并实现以下目标
我们现在需要执行的任务之一(如果可能的话)是将虚拟硬盘从非持久模式切换到持久模式,反之亦然。
我已尝试寻找正确的 API 调用,但还没有找到。有谁知道这是否可以通过 API 调用来完成?
【问题讨论】:
虽然我没有做过这个确切的操作,但是我通过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
【讨论】:
根据VMware vSphere PowerCLI Cmdlets Reference,这应该可以完成工作:
Get-HardDisk -VM $myVM | Set-HardDisk -Persistence "Independent(Non)Persistent"
【讨论】:
powercli 而不是C#。如果您想使用 C# 自动化 vmware,您应该查找 VIX API (vmware.com/support/developer/vix-api)。它具有对 COM 的绑定,这使得它可以通过 dot.net 框架使用。