我在 VMWare Workstation 上运行虚拟机。主机是 Win8.1,虚拟机是 debian。如何在不使用虚拟机的情况下找出虚拟机的 IP 地址?
意思是:不输入密码进入 debian 并执行 ifconfig。如何仅使用 VMWare 即可找出虚拟机的 IP 地址?
答案1
答案2
由于您没有指定任何其他要求,因此这里是使用VMware任务,VIX API 包装器。VIX 是您需要使用的。我相信 vSphere Client 使用相同的方法来获取客户的 IP 地址,尽管我不知道此实现是否正确处理多个地址。
// declare a virtual host
using (var virtualHost = new VMWareVirtualHost())
{
// connect to a local VMWare Workstation virtual host
virtualHost.ConnectToVMWareWorkstation();
// open an existing virtual machine
using (var virtualMachine = virtualHost.Open(@"C:\Virtual Machines\xp\xp.vmx"))
{
// power on this virtual machine
virtualMachine.PowerOn();
// wait for VMWare Tools
virtualMachine.WaitForToolsInGuest();
// login to the virtual machine
var ipAddress = virtualMachine.GuestVariables["ip"]
}
}
请注意:我实际上还没有测试过这一点,所以可能会有一些不准确之处。