Используя диспетчер Hyper-V, я могу подключиться к удаленному узлу VM, перейти к настройкам виртуальной машины и добавить существующий файл .VHD в качестве нового жесткого диска. Если на хосте VM работает сервер 2008 R2, и диск подключается к контроллеру SCSI, я могу это сделать даже во время работы виртуальной машины (см. What's new in Hyper-V R2).Программируемое подключение VHD к удаленной виртуальной виртуальной машине
Выполнение этого вручную, все отлично работает. Проблема в том, что теперь я хочу автоматизировать ее, чтобы я мог прикрепить различные VHD на лету во время некоторых автоматических тестов.
У меня уже есть код C#, который соединяется с удаленным хостом VM по WMI и запускает/останавливает виртуальные машины, вызывая RequestStateChange, и я хотел бы расширить его, чтобы иметь возможность сказать «вот путь к VHD, прикрепите его как SCSI-диск для этой виртуальной машины ». Но, глядя на list of WMI virtualization classes, я не могу понять, как это сделать.
Самый близкий, который я нашел, - это метод MountMsvm_ImageManagementService, но, похоже, он монтирует VHD внутри текущей ОС, чего я не хочу.