用PowerShell自动化Virtual PC 2007?

11

这基本上是这个问题的重复,但接受的答案是“无法”,我想保留这个问题,直到得到一个实际的答案,而不是接受“NO”并放弃。

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

我已经开始学习 PowerShell,但我无法获取或处理 Virtual PC 中 VM 列表上的任何信息。

编辑:Windows Virtual PC (Windows 7 XP Mode) 与 Virtual PC 2007 不同。我正在作为主机 OS 运行 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:我使用了Jeff在这个答案中提供的代码来列出我的系统上的所有COM对象,但没有找到任何看起来像是Virtual PC的对象。所以现在我认为“不可能”这个答案可能是正确的,但我仍然会保留这个问题,以防有人有任何进一步的建议,让PowerShell可以与Virtual PC 2007一起使用。同时,我强烈考虑切换到Windows 7中的新Windows Virtual PC,并不担心使所有虚拟机与之前的Windows版本兼容。

3个回答

3
为了在虚拟机中测试我自己的软件,我使用AutoIt (http://www.autoitscript.com/autoit3/) 来启动虚拟机,在虚拟机中再次使用它来启动和控制我的应用程序。通信是通过虚拟机中的共享文件夹完成的(编写执行AutoIt脚本,输出应用程序记录等)。这不是PowerShell,但也许可以帮到你。 :) 祝好,Sebastiaan

谢谢!看起来很有前途。如果它能够工作,我会接受这个答案。欢迎来到StackOverflow! - CoderDennis
我从来没有测试过这个,但这是最好的答案,也是我唯一一个没有被接受的问题。 - CoderDennis

1

这是你要找的吗?我使用安装了“虚拟 Windows XP”功能(实际上是 VPC 2007)的 Windows 7。

[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

Windows 7的新Windows Virtual PC与Virtual PC 2007不同。这段代码对我无效。请查看我的问题编辑。 - CoderDennis

0

看起来使用 MS Virtual Server 2005 可能可以自动创建虚拟镜像。以下文章详细介绍了使用 PowerShell 脚本自动创建虚拟镜像的方法:

从第2部分中的“在虚拟机上进行配置测试”部分来看,似乎可以传输文件并安排运行脚本。以这些文章为基础,应该可以像 lordbrain 描述 VMware 镜像的方式一样自动构建 MS 虚拟镜像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接