Автоматизировать Virtual PC 2007 с помощью PowerShell?
-
13-09-2019 - |
Вопрос
По сути, это дубликат этот вопрос, но общепринятым ответом было "нет", и я хотел бы оставить этот вопрос открытым до получения реального ответа вместо того, чтобы принимать "НЕТ" и сдаваться.
Стивен Поднялся сказал мне через Twitter DM использовать PowerShell для запуска и остановки виртуальных машин Virtual PC и выполнения таких действий, как запуск установок, автоматическое обновление и проверка на вирусы, но он еще не ответил на мой запрос о каких-либо ссылках на ресурсы, которые описывают, как это сделать.
Я начал изучать PowerShell, но я не могу понять, как получить или работать с какой-либо информацией из списка виртуальных машин в Virtual PC.
Редактировать: Виртуальный ПК с Windows (режим Windows 7 XP) это не то же самое, что Virtual PC 2007.Я использую Windows 7 в качестве основной операционной системы, но я все еще использую Virtual PC 2007, потому что мне нужно поддерживать возможность запуска гостевых компьютеров на хостах Vista или XP, на которых не будет нового виртуального ПК с Windows.Я ненадолго установил Windows Virtual PC, чтобы проверить это, и ему пришлось выполнить кучу преобразований в моих виртуальных изображениях.Предложение от @x0n ($vpc = new-object -com virtualpc.application
) выдает следующую ошибку в моей системе:
New-Object : Cannot load COM type virtualpc.application.
At line:1 char:18
+ $vpc = new-object <<<< -com virtualpc.application
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : CannotLoadComObjectType,Microsoft.PowerShell.Commands.NewObjectCommand
Правка 2: Я использовал код Джеффа из этот ответ чтобы перечислить все COM-объекты в моей системе, я не смог найти ни одного, который выглядел бы так, как будто это был Virtual PC.Так что теперь я думаю, что ответ "это невозможно" может быть правильным, но я все равно оставлю этот вопрос открытым на случай, если у кого-нибудь появятся дополнительные предложения по тому, как заставить PowerShell работать с Virtual PC 2007.В то же время я настоятельно рассматриваю возможность перехода на новый виртуальный компьютер Windows в Windows 7 и просто не беспокоиться о том, чтобы все мои виртуальные машины были совместимы с более ранними версиями Windows.
Решение
Чтобы протестировать некоторые из моих собственных программ в виртуальной машине, я использую AutoIt (http://www.autoitscript.com/autoit3/) для запуска виртуальной машины, и внутри виртуальной машины я снова использую ее для запуска своего приложения и управления им.Обмен данными осуществляется с использованием общей папки внутри виртуальной машины (написание сценария AutoIt для выполнения, вывод приложения в виде журнала).
Это не Powershell, но, возможно, это все равно поможет.:)
С уважением,
Себастьян
Другие советы
Это то, что ты ищешь?Я нахожусь в Windows 7, в которой установлена функция "виртуальная Windows xp" (которая фактически является vpc 2007).
[E] PS> $vpc = new-object -com virtualpc.application
[E] PS> $vpc
HostInfo : System.__ComObject
VirtualMachines : System.__ComObject
VirtualNetworks : System.__ComObject
UnconnectedNetworkAdapters : System.__ComObject
SupportDrivers : System.__ComObject
Tasks : System.__ComObject
MinimumMemoryPerVM : 4
MaximumMemoryPerVM : 3071
SuggestedMaximumMemoryPerVM : 2763
MaximumFloppyDrivesPerVM : 1
MaximumSerialPortsPerVM : 2
MaximumParallelPortsPerVM : 1
MaximumNetworkAdaptersPerVM : 4
MaximumNumberOfIDEBuses : 2
DefaultVMConfigurationPath : G:\Users\Oisin\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines\
SearchPaths : {}
USBDeviceCollection : System.__ComObject
Name : Windows Virtual PC
Version : 6.1.7084.0
UpTime : 2
Похоже, что возможно автоматизировать создание виртуальных образов с помощью Виртуальный сервер MS 2005.В следующих статьях подробно описывается использование сценариев PowerShell для автоматизации создания виртуальных образов:
- Тестирование конфигурации с помощью виртуального сервера, Часть 1
- Тестирование конфигурации с помощью виртуального сервера, Часть 2
Из части 2, в разделе Тесты конфигурации на виртуальной машине, представляется возможным передавать файлы и планировать выполнение сценариев.Используя эти статьи в качестве основы, должно быть возможно автоматизировать создание виртуального образа MS таким же образом, как lordbrain описал для образа VMware.