使用 PowerShell 自动化 Virtual PC 2007?
-
13-09-2019 - |
题
这基本上是重复的 这个问题, ,但接受的答案是“否”,我想保持这个问题开放,直到得到实际答案,而不是接受“否”并放弃。
斯蒂芬·罗斯 他通过 Twitter DM 告诉我使用 PowerShell 启动和停止 Virtual PC VM 并执行运行安装、自动更新和病毒扫描等操作,但他尚未回复我的请求,提供任何描述如何执行此操作的资源链接。
我已经开始学习 PowerShell,但我不知道如何获取或使用 Virtual PC 中的虚拟机列表上的任何信息。
编辑: Windows 虚拟 PC(Windows 7 XP 模式) 与 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: 我使用了杰夫的代码 这个答案 列出我系统上的所有 COM 对象,但找不到任何看起来像虚拟 PC 的对象。所以现在我认为“不可能”的答案可能是正确的,但我仍然会保留这个问题,以防有人对让 PowerShell 与 Virtual PC 2007 一起工作有任何进一步的建议。与此同时,我正在强烈考虑跳转到 Windows 7 中的新 Windows Virtual PC,而不必担心让我的所有虚拟机与早期版本的 Windows 兼容。
解决方案
要测试一些我自己的软件的虚拟机中我使用了AutoIt( HTTP://www.autoitscript。 COM / autoit3 / )启动虚拟机,并在VM中我又用它来启动和控制我的应用程序。通信是使用虚拟机内的共享文件夹(写入AutoIt的脚本来执行,例如一个日志的应用程序的输出)完成的。
这不是PowerShell中,但也许这有助于反正。 :)
此致
Sebastiaan
其他提示
这是你在找什么?我在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
看起来可以使用以下命令自动创建虚拟映像 微软虚拟服务器 2005. 。以下文章详细介绍了如何使用 PowerShell 脚本自动创建虚拟映像:
从第 2 部分的“虚拟机上的配置测试”部分中,似乎可以传输文件并安排脚本运行。以这些文章为基础,应该可以像 lordbrain 描述的 VMware 映像一样自动构建 MS 虚拟映像。