Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过vmware sdk api调用将磁盘切换到持久模式_C#_Vmware_Powercli - Fatal编程技术网

C# 通过vmware sdk 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" 虽然我没有做过这种精确的操作,但

更新:首选的解决方案是使用VmWare toolkit for.NET并实现以下功能的解决方案

我们现在需要执行的任务之一(如果可能的话)是将虚拟硬盘从非持久模式切换到持久模式,反之亦然

我已经尝试寻找正确的API调用,但还没有找到。有人知道这是否可以通过API调用完成吗?

根据,这应该可以完成以下工作:

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属性的正确值吗?