我是一名软件工程师,我们目前使用开发虚拟机。通常,我们会为操作版本和不同的供应商软件版本创建增量 VMware。例如,我们的虚拟机存储库如下所示:
VM01_V01_WinXp-Basic
VM01_V02_WinXp-Basic
VM02_V02_WinXp-Basic-Sdkv03
VM03_V02_Win10-Basic
VM04_V02_Win10-Basic-Sdkv11-SqlServer14
VM04_V03_Win10-Basic-Sdkv11-SqlServer15
VM04_V04_Win10-Basic-Sdkv12-SqlServer15
等等。命名约定有点令人困惑,但这不是我想出来的。
现在,每次我创建一个新的 VM,我都会在旧的 VM 基础上构建,或者从安装 Windows 等开始创建一个新的 VM。
此外,同事们倾向于在没有完全理解某些设置的含义的情况下更改虚拟机,这主要是他们的网络配置。
对于这两个问题,我希望能够编写虚拟机的设置脚本。简而言之,我希望为 CPU、网络适配器等定义以下设置,然后能够通过按下按钮(或执行命令)来应用这些设置。
无论是从客户机还是主机执行此操作都可以。最好从客户机内部执行 - 但这似乎很难。
答案1
可以从客户机内部更改的虚拟机配置是非常有限。允许一般的 VM 配置会破坏主机/客户机隔离,并会造成安全漏洞。
您应该能够使用许多 Windows 自动化工具中的任何一种来自动化 GUI 交互。所有小部件都是 Win32 控件,因此您可以轻松调用
GetWindowText
它们来读取它们的标签并识别它们。当然,请注意,对小部件文本的调整可能会破坏您的自动化。(Windows 上的 VMware Workstation Pro/Player 使用的大多数控件 ID 都不是固定的,而是动态生成的;不要依赖它们。).vmx
对于您的情况,制作直接自动生成所需文件或对现有文件进行更改的脚本可能会更简单。