Используя диспетчер Hyper-V, я могу подключиться к удаленному хосту виртуальной машины, перейти к настройкам виртуальной машины и добавить существующий файл .VHD в качестве нового жесткого диска. Если на хосте виртуальной машины работает Server 2008 R2, а диск подключен к контроллеру SCSI, я могу даже сделать это во время работы виртуальной машины (см. Что нового в Hyper-V R2 ).
Делая это вручную, все отлично работает. Проблема в том, что теперь я хочу автоматизировать это, чтобы я мог подключать различные виртуальные жесткие диски на лету во время некоторых автоматических тестов.
У меня уже есть код C #, который подключается к удаленному узлу виртуальной машины через WMI и запускает / останавливает виртуальные машины, вызывая RequestStateChange , и я хотел бы расширить его, чтобы иметь возможность сказать «вот путь к VHD, подключите его как диск SCSI к этой виртуальной машине ". Но, глядя на список классов виртуализации WMI , я не могу понять, как это сделать.
Наиболее близким из найденных мной является Mount метод Msvm_ImageManagementService , но, похоже, он монтирует виртуальный жесткий диск внутри текущей ОС, а это не то, чего я хочу. *