Msvm_VirtualSystemManagementService 類別的 DestroySystem 方法
從主機系統的管理範圍中移除先前定義的虛擬機器。 也會移除任何相關聯的資源定義。 在呼叫此方法之前,虛擬機器必須處於關閉電源或儲存狀態。
語法
uint32 DestroySystem(
[in] CIM_ComputerSystem REF AffectedSystem,
[out] CIM_ConcreteJob REF Job
);
參數
-
AffectedSystem [in]
-
類型: CIM_ComputerSystem
CIM_ComputerSystem 實例的參考 ,表示要終結的虛擬機器實例。
-
作業 [out]
-
類型: CIM_ConcreteJob
如果以非同步方式執行作業,這個方法會傳回 4096,而且此參數會包含衍生自 CIM_ConcreteJob的物件參考。
傳回值
類型: uint32
如果此方法是以同步方式執行,則會在成功時傳回 0。 如果此方法是以非同步方式執行,則會傳回 4096,而 Job 輸出參數可用來追蹤非同步作業的進度。 任何其他傳回值都表示錯誤。
-
已完成 , (0)
-
不支援 (1)
-
失敗 (2)
-
逾 時 (3)
-
不正確參數 (4)
-
不正確狀態 (5)
-
DMTF 保留 (。。)
-
已檢查方法參數 - 作業啟動 (4096)
-
保留 (4097..32767)
-
廠商特定 (32768..65535)
備註
Msvm_VirtualSystemManagementService 類別的 存取可能會受到 UAC 篩選的限制。 如需詳細資訊,請參閱 使用者帳戶控制和 WMI。
範例
下列 C# 範例會使用 DestroySystem 方法來移除已規劃的虛擬機器。 此程式碼取自 Hyper-V 規劃的虛擬機器範例。 您可以在 虛擬範例的通用公用程式中找到參考的公用程式, (V2) 。
重要
若要正確運作,必須在虛擬機器主機伺服器上執行下列程式碼,而且必須使用系統管理員許可權執行。
/// <summary>
/// Finds the first Planned VM matching pvmName and removes it.
/// </summary>
/// <param name="pvmName">The name of the PVM to be removed.</param>
internal static void
RemovePvm(
string pvmName
)
{
ManagementScope scope = new ManagementScope(@"root\virtualization\v2");
using (ManagementObject pvm = WmiUtilities.GetPlannedVirtualMachine(pvmName, scope))
using (ManagementObject managementService = WmiUtilities.GetVirtualMachineManagementService(scope))
using (ManagementBaseObject inParams =
managementService.GetMethodParameters("DestroySystem"))
{
inParams["AffectedSystem"] = pvm.Path;
Console.WriteLine("Removing Planned Virtual Machine \"{0}\" ({1})...",
pvm["ElementName"], pvm["Name"]);
using (ManagementBaseObject outParams =
managementService.InvokeMethod("DestroySystem", inParams, null))
{
WmiUtilities.ValidateOutput(outParams, scope);
}
}
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2012 [僅限傳統型應用程式] |
命名空間 |
Root\Virtualization\V2 |
MOF |
|
DLL |
|