C# 通过vmware sdk api调用将磁盘切换到持久模式
更新:首选的解决方案是使用VmWare toolkit for.NET并实现以下功能的解决方案 我们现在需要执行的任务之一(如果可能的话)是将虚拟硬盘从非持久模式切换到持久模式,反之亦然 我已经尝试寻找正确的API调用,但还没有找到。有人知道这是否可以通过API调用完成吗?根据,这应该可以完成以下工作:C# 通过vmware sdk api调用将磁盘切换到持久模式,c#,vmware,powercli,C#,Vmware,Powercli,更新:首选的解决方案是使用VmWare toolkit for.NET并实现以下功能的解决方案 我们现在需要执行的任务之一(如果可能的话)是将虚拟硬盘从非持久模式切换到持久模式,反之亦然 我已经尝试寻找正确的API调用,但还没有找到。有人知道这是否可以通过API调用完成吗?根据,这应该可以完成以下工作: Get-HardDisk -VM $myVM | Set-HardDisk -Persistence "Independent(Non)Persistent" 虽然我没有做过这种精确的操作,但
Get-HardDisk -VM $myVM | Set-HardDisk -Persistence "Independent(Non)Persistent"
虽然我没有做过这种精确的操作,但我通过ReconfigVm任务做过类似的操作: 您需要使用升级的VirtualDevice设置VirtualMachineConfigSpec,该VirtualDevice的VirtualDeviceBackInfo在其diskMode属性中具有所需的持久性类型。此处记录了数据对象:
我实际上是在用c#进行API调用。我将在转换成等效的C#代码后尝试一下,并让您知道。谢谢。在VMWare.Vim dll中找不到任何允许我执行类似操作的内容。不幸的是,由于一些合作限制,我无法使用powershell代码。您知道我是否可以通过使用VMWare.Vim dll和C#来实现这一点吗?是否有办法使用reflector或其他方式查看此cmdlet的代码?首先,问题被标记为
powercli
,而不是C
。如果您想使用C自动化vmware,您应该查找VIX API()。它有COM的绑定,这使得它可以通过dot.net框架使用。我已经更新了标记,以反映我希望做得更好的内容。我确实尝试了文档,但它不是世界上最好的。我把这个问题贴在这里,因为我需要更多的帮助来完成这个任务。非常感谢马克。我正在尝试设置它,但是没有太多关于如何在diskMode属性上设置所需持久性类型的文档。你能发布一个关于如何做的快速代码片段吗?我已经到了可以创建配置规范并调用Reconfig_VM任务的地步。当我查看VMWare控制台时,任务甚至会被触发。但磁盘模式不会切换。您知道DiskMode属性的正确值吗?