Автоматизировать Virtual PC 2007 с помощью PowerShell?
Это в основном дубликат этого вопроса, но принятый ответ был "нет", и я хотел бы оставить этот вопрос открытым до получения фактического ответа вместо принимая "НЕТ" и отказываясь.
Стивен Роуз рассказал мне через Twitter DM, чтобы использовать PowerShell для запуска и остановки Virtual PC VM и делать такие вещи, как запуск установок, автоматическое обновление и но он еще не ответил на мой запрос о любых ссылках на ресурсы, которые описывают, как это сделать.
Я начал изучать PowerShell, но не могу понять, как получить или работать с любой информацией из списка VM в Virtual PC.
Изменить: Windows Virtual PC (режим 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 Virtual PC в Windows 7 и не беспокоюсь о том, чтобы все мои виртуальные машины были совместимы с более ранними версиями Windows.
Ответы
Ответ 1
Чтобы проверить часть моего собственного программного обеспечения в VM, я использую AutoIt (http://www.autoitscript.com/autoit3/), чтобы запустить виртуальную машину и внутри виртуальной машины Я использую его снова для запуска и управления своим приложением. Коммуникация выполняется с использованием общей папки внутри виртуальной машины (запись AutoIt script для выполнения, вывод приложения как журнала).
Это не Powershell, но, возможно, это помогает в любом случае.:)
Привет,
Sebastiaan
Ответ 2
Это то, что вы ищете? Я нахожусь в Windows 7, в которой установлена функция "виртуальных окон 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
Ответ 3
Похоже, что возможно автоматизировать создание виртуальных изображений с помощью MS Virtual Server 2005. В следующих статьях подробно описывается использование сценариев PowerShell для автоматизации создания виртуальных образов:
Из части 2 в разделе "Конфигурационные тесты на виртуальной машине" представляется возможным передавать файлы и запускать сценарии расписания. Используя эти статьи в качестве основы, должно быть возможно автоматизировать создание виртуального образа MS таким же образом, как и лорд-мозг, описанный для образа VMware.