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