【问题标题】:How to delete a resource from Hyper-v Failover Clustering using WMI in C#如何在 C# 中使用 WMI 从 Hyper-v 故障转移群集中删除资源
【发布时间】:2026-02-19 17:25:01
【问题描述】:

我在 hyperV 中创建了一个虚拟机并将其添加到故障转移集群中。现在,当我从 HyperV 中删除这台机器时,它仍然停留在故障转移群集中。我在Root\MSCluster 命名空间中找到了MSCluster_Resource 类的DeleteResource 方法。但是如何使用 WMI 使用这种方法呢?根据微软文档,它只有一个参数[in] uint32 Options。我将在哪里提及资源名称?我该如何执行此方法。 我在 c# 代码中使用 WMI 类。 我找不到任何例子。如果有人可以共享此方法的一些示例代码,那就太好了。 任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 我通过获取VM的管理对象调用了这个DeleteResource()方法。现在它给了我错误“组或资源未处于执行请求操作的正确状态”。有什么帮助吗?

标签: c# wmi hyper-v failover


【解决方案1】:

我找到了解决办法。可以使用

删除集群机器
virtualMachineObject.InvokeMethod("DestroyGroup", methodParameters, null);

其中virtualMachineObject是一个管理对象,保存着要删除的虚拟机的信息。 谢谢!

【讨论】: