Программно смонтировать VHD в виртуальной машине hyper-V (V2)
Я пытаюсь настроить виртуальную машину Hyper-V программно, от начала до конца, использование только C# и WMI Поскольку это происходит в Windows 10, пространство имен WMI виртуализация\V2, который значительно отличается от пространства имен WMI, существовавшего до Windows 8.
На данный момент у меня есть созданная виртуальная машина, и у меня есть созданный виртуальный HD, но чего не хватает, так это возможность подключения виртуального жесткого диска на виртуальной машине.
Я просмотрел интернет и нашел решения для этого в пространстве имен WMI V1, но образцы в V2 отсутствуют. Но из того, что я вижу, мне нужно добавить "синтетический дисковод" к контроллеру IDE в качестве ресурса, а затем добавить на него виртуальный дисковод. Но я получаю ошибку от WMI, говоря, что он не может добавить ресурс.
Я видел много примеров использования PowerShell, но я намерен обернуть это в установщик MSI, чтобы при необходимости установить PowerShell. Я бы предпочел избежать этого, если это вообще возможно.
Что я уже пробовал:
Одна вещь, которую я сделал, - это взял виртуальную машину с подключенным VHD, затем пересек ресурсы, подключенные от виртуального IDE-контроллера, и захватил эту информацию. Затем я взял свою "голую" виртуальную машину и попытался добавить те же ресурсы, но снова это не удалось.
Я также использую WMI Explorer 2.0 (от Vinay Pamnani), который, как я обнаружил, очень полезен для изучения пространства имен WMI, но он не дает никакого представления о том, что мне нужно делать.
Kornfeld Eliyahu Peter
Сценарий PowerShell не очень хорош?
Andreas Mertens
Я выпускаю новый продукт, размещенный в виртуальной машине, для клиентов, которые не очень сложны. Я бы предпочел не устанавливать PowerShell на их машины, если смогу этого избежать.
Kornfeld Eliyahu Peter
PowerShell включен начиная с Windows 7 (v 2.0)...
Andreas Mertens
Это функция, которую можно включить или выключить, и я бы предпочел не иметь дела с добавлением этой функции, если мне это не нужно. И я также не хочу иметь дело с проблемами управления версиями PowerShell.
В основном PowerShell просто вызывает одни и те же объекты и методы WMI, поэтому сделать то же самое в C#должно быть просто. Это все, что я ищу...