如何使用 VMWare Workstation 查找虚拟机的 IP 地址?虚拟机上没有 ipconfig

如何使用 VMWare Workstation 查找虚拟机的 IP 地址?虚拟机上没有 ipconfig

我在 VMWare Workstation 上运行虚拟机。主机是 Win8.1,虚拟机是 debian。如何在不使用虚拟机的情况下找出虚拟机的 IP 地址?

意思是:不输入密码进入 debian 并执行 ifconfig。如何仅使用 VMWare 即可找出虚拟机的 IP 地址?

答案1

您可以ipconfig在您的(Windows)主机上使用并搜索“VMnet[num]:”下显示的 IP 地址。

如果你的主机有 sed (例如赛格威, 或者独立)你可以使用以下命令仅列出客户端 ipv4:

ipconfig|sed -n '/VMnet/{N;N;N;N;s/.*: //p}'

答案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"]
    }
}

请注意:我实际上还没有测试过这一点,所以可能会有一些不准确之处。

相关内容