我在winserver 2012r2上創建hyper-v快照後無法獲得結果,這意味着我不知道創建的快照的instanceID。如何在wmi中創建hyper-v快照後得到結果
我已經看到了類
Msvm_VirtualSytemSnapshotService
的方法CreateSnapshot
,其輸入PARAMS包括ResultingSnapshot
引用CIM_VirtualSystemSettingData
,其輸出PARAMS包括ResultingSnapshot
了。我創建了一個
CIM_VirtualSystemSettingData
實例來調用方法CreateSnapshot
。當我運行程序,它告訴我
無效的方法參數(S)
如果我調用方法CreateSnapshot
沒有ResultingSnapshot
,我創造佳績。
請給我一些建議!
代碼:
ManagementObject virtualSystemService = Utility.GetServiceObject(scope,"Msvm_VirtualSystemSnapshotService");
ManagementBaseObject inParams = virtualSystemService.GetMethodParameters("CreateSnapshot");
ManagementPath resultingSettingDataPath = new ManagementPath("CIM_VirtualSystemSettingData");
ManagementClass serviceClass = new ManagementClass(scope, resultingSettingDataPath, null);
ManagementObject resultingSettingData = serviceClass.CreateInstance();
ManagementObject vm = Utility.GetTargetComputer(vmName, scope);
inParams.SetPropertyValue("AffectedSystem", vm.Path.Path);
inParams.SetPropertyValue("SnapshotType", snapshotType);
inParams.SetPropertyValue("ResultingSnapshot", serviceClass.createInstance());
//inParams.SetPropertyValue("SnapshotSettings", null);
// inParams.SetPropertyValue("Job", null);
ManagementBaseObject outParams = virtualSystemService.InvokeMethod("CreateSnapshot", inParams, null);`