Я использую виртуальную машину на рабочей станции VMWare. Хост - Win8.1. VM - Debian. Как узнать IP-адрес виртуальной машины без использования виртуальной машины?

Означает: не вводить пароль в Debian и не выполнять ifconfig. Как узнать IP-адрес виртуальной машины просто с помощью VMWare?

2 ответа2

0

Вы можете использовать ipconfig на вашем хосте (Windows) и искать IP-адреса, показанные в разделе «VMnet [num]:».

Если ваш хост имеет sed (например, с cygwin или standalone), вы можете перечислить только клиентские ipv4 с:

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

Поскольку вы не указали никаких дополнительных требований, вот решение C # с использованием VMwareTasks, оболочки 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"]
    }
}

Пожалуйста, не надо: я на самом деле не проверял это, поэтому могут быть некоторые неточности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .