Автоматизировать Virtual PC 2007 с помощью PowerShell?

По сути, это дубликат этого вопроса, но принятым ответом было «Нет», и я хотел бы оставить этот вопрос открытым до получения фактического ответа вместо того, чтобы принимать «НЕТ» и сдаваться.

Стивен Роуз посоветовал мне через Twitter DM использовать PowerShell для запуска и остановки виртуальных машин Virtual PC и делать такие вещи, как запускать установки, автоматические обновления и сканирование на вирусы, но он еще не ответил на мой запрос о каких-либо ссылках на ресурсы, которые описывают, как это сделать.

Я начал изучать PowerShell, но не могу понять, как получить или работать с какой-либо информацией из списка виртуальных машин на Virtual PC.

Изменить: Windows Virtual PC (режим Windows 7 XP) - это не то же самое, что Virtual PC 2007. Я использую Windows 7 в качестве основной ОС, но я все еще использую Virtual PC 2007, потому что мне нужно поддерживать возможность запускайте гостевые машины на хостах Vista или XP, на которых не будет нового Windows Virtual PC. Я ненадолго установил 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-объекты в моей системе, и не смог найти ни одного, который выглядел бы так, как будто они были виртуальным ПК. Итак, теперь я думаю, что ответ «это невозможно» может быть правильным, но я все же оставлю этот вопрос открытым на случай, если у кого-то появятся дальнейшие предложения по работе PowerShell с Virtual PC 2007. А пока , Я решительно подумываю о переходе на новый Windows Virtual PC в Windows 7 и просто не беспокоюсь о том, чтобы все мои виртуальные машины были совместимы с более ранними версиями Windows.


person CoderDennis    schedule 09.06.2009    source источник


Ответы (3)


Для тестирования собственного программного обеспечения на виртуальной машине я использую AutoIt (http://www.autoitscript.com/autoit3/), чтобы запустить виртуальную машину, а внутри виртуальной машины я снова использую ее для запуска и управления своим приложением. Связь осуществляется с использованием общей папки внутри виртуальной машины (написание сценария AutoIt для выполнения, вывод приложения в виде журнала).

Это не Powershell, но, возможно, это все равно поможет. :)

С уважением,

Себастьян

person Sebastiaan M    schedule 09.07.2009
comment
Спасибо! Выглядит многообещающе. Если это сработает, я приму этот ответ. Добро пожаловать в StackOverflow! - person CoderDennis; 09.07.2009
comment
Я так и не успел проверить это, но это лучший ответ, и это был мой единственный вопрос без принятого ответа. - person CoderDennis; 28.04.2011

Это то, что вы ищете? Я использую 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
person x0n    schedule 13.06.2009
comment
Новый Windows Virtual PC в Windows 7 - это не то же самое, что Virtual PC 2007. Этот код не работал у меня. См. Мою правку в вопросе. - person CoderDennis; 15.06.2009

Похоже, можно автоматизировать создание виртуальных образов с помощью MS Virtual Server 2005. В следующих статьях подробно описано использование сценариев PowerShell для автоматизации создания виртуальных образов:

Из части 2 в разделе «Тесты конфигурации на виртуальной машине» кажется возможным передавать файлы и запускать сценарии по расписанию. Используя эти статьи в качестве основы, можно будет автоматизировать создание виртуального образа MS таким же образом, как lordbrain, описанный для образа VMware.

person MagicAndi    schedule 21.07.2009