Как программно извлечь виртуальный дисковод виртуальной машины в Hyper-V с помощью WMI и C#?

Я пытаюсь извлечь / удалить загруженный *виртуальный дисковод* (VFD) виртуальной машины в Hyper-V с помощью API-интерфейса WMI Hyper-V и VB.Net/C#.

Я выполняю эту операцию, когда виртуальная машина выключена, но все равно получаю следующую ошибку:

"VM-17-7-2011_Sub146_0" не удалось удалить ресурсы. (Идентификатор виртуальной машины E543B32A-2058-4992-B50A-C7DBC6A8D948) "*Код ошибки:* 32773 JobStated: Exception {10}

и эта информация об ошибке не очень полезна.

Кроме того, если я могу создать и добавить виртуальный дисковод гибких дисков к виртуальной машине при создании виртуальной машины, почему я получаю сообщение об ошибке при попытке извлечь / выгрузить его? Я делаю это неправильно? Пожалуйста помоги.

Также обратите внимание, что я добавляю VFD в виртуальную машину после ее создания, и эта виртуальная машина еще не запущена! Это означает, что VFD может быть добавлен в виртуальную машину без ее запуска. Поэтому по логике я должен быть в состоянии удалить его, когда виртуальная машина находится в выключенном состоянии и еще не запущена.

Часть кода, которая удаляет виртуальные ресурсы, выглядит следующим образом:

 Dim RASDs As String() = New String() {existingRASD.GetText(TextFormat.CimDtd20)}

                Dim VMManagementService As ManagementObject = Me.GetVirtualSystemManagementService()

                Dim _
                    inParams As ManagementBaseObject = _
                        VMManagementService.GetMethodParameters("RemoveVirtualSystemResources")
                inParams("ResourcesettingData") = RASDs
                inParams("TargetSystem") = VM.Path.Path

                Dim _
                    outParams As ManagementBaseObject = _
                        VMManagementService.InvokeMethod("RemoveVirtualSystemResources", inParams, Nothing)
                Dim FloppyDisk As JobResult = Me.CreateJobResultFromWmiMethodResults(outParams)
                result = FloppyDisk

Пожалуйста, подумайте, почему я получаю это и как я могу решить это. Благодарю.

Стив

0 ответов

Другие вопросы по тегам