2017-09-03 164 views
0

我通过vmware包在ESX(在vSphere Client上)创建了虚拟机: Look here 。 但我无法从代码中设置IP地址。我可以使用vmware软件包更改虚拟机的IP地址吗?

我想:

ServiceInstance si = new ServiceInstance(new URL(Url), user, password, true); 
    VirtualMachine vm = (VirtualMachine) new InventoryNavigator(si.getRootFolder()).searchManagedEntity("VirtualMachine", "NewVmName"); 
    System.out.println(vm.getGuest().toolsRunningStatus); 
    vm.getGuest().setIpAddress(ipAddress); 

但它并没有改变。有谁知道可以做些什么来更新IP地址?

回答

0

虚拟机的IP地址由虚拟机本身控制。如果您确实想要设置虚拟机的IP地址,请将网络适配器更改为“桥接”并在虚拟机本身中设置IP地址。参考:Setting IP Address on Windows,Linux, and Mac

来源:超级用户,OSXDaily

0

至少有两种方法可以做到这一点。

一种方法是使用CustomizeVM_Task command并给它一个自定义规范来更改IP。当您执行此操作时,VM需要关闭电源,并且在自定义之后将其打开后,它将启动,更改IP,然后再次启动。见示例herehere

另一种方法是利用GuestOperationsManagerProcessManager来启动更改IP的命令(确切的命令将取决于来宾操作系统)。这不需要重新启动,但请注意,您将需要为来宾提供有效凭据。

如果您打算使用PowerCLI,那么您可以使用Invoke-VMScript。见例如this example