使用PowerShell自动化Virtual PC 2007?

时间:2009-06-09 18:00:43

标签: powershell powershell-v2.0 virtual-pc virtual-pc-2007

这基本上是this question的副本,但接受的答案是“不”,我想在获得实际答案之前保持这个问题,而不是接受“否”并放弃。

Stephen Rose通过Twitter DM告诉我使用PowerShell启动和停止Virtual PC VM并执行诸如运行安装,自动更新和病毒扫描之类的操作,但他还没有回复我的任何链接到描述如何操作的资源。

我已经开始学习PowerShell,但我无法弄清楚如何获取或使用虚拟PC中虚拟机列表中的任何信息。

编辑: Windows Virtual PC (Windows 7 XP Mode)与Virtual PC 2007不同。我正在运行Windows 7作为我的主机操作系统,但我仍在使用Virtual PC 2007,因为我需要维护能够在没有新的Windows Virtual PC的Vista或XP主机上运行来宾计算机。我简单地安装了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:我使用来自this answer的Jeff代码列出了我系统上的所有COM对象,但找不到任何看起来像是Virtual PC的对象。所以现在我认为“这是不可能的”答案可能是正确的,但我仍然会打开这个问题以防万一有任何进一步的建议让PowerShell与Virtual PC 2007一起工作。同时,我正在考虑跳转到Windows 7中的新Windows Virtual PC,并且不要担心让我的所有虚拟机与早期版本的Windows兼容。

3 个答案:

答案 0 :(得分:3)

要在VM中测试我自己的一些软件,我使用AutoIt(http://www.autoitscript.com/autoit3/)启动VM,在VM中我再次使用它来启动和控制我的应用程序。使用VM中的共享文件夹完成通信(编写AutoIt脚本以执行,输出应用程序,如日志)。

这不是Powershell,但无论如何这可能会有所帮助。 :)

此致

Sebastiaan

答案 1 :(得分:1)

这是你要找的吗?我在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

答案 2 :(得分:0)

看起来可以使用MS Virtual Server 2005自动创建虚拟映像。以下文章详细介绍了如何使用PowerShell脚本自动创建虚拟映像:

从第2部分开始,在虚拟机上的配置测试部分中,似乎可以传输文件并安排脚本运行。使用这些文章作为基础,应该可以像为VMware映像描述的lordbrain一样自动构建MS虚拟映像。