[英]Run Vm that created in vmware workstation from java application
I do not know much about the vmware. 我对vmware不太了解。 I found this code for start vm.
我找到了用于启动vm的代码。 but I need information about the URL +User name + password.
但是我需要有关URL +用户名+密码的信息。 How can I get this data?
我如何获得这些数据?
package com.vmware.vim25.mo.samples.vm;
import java.net.URL;
import com.vmware.vim25.mo.Folder;
import com.vmware.vim25.mo.InventoryNavigator;
import com.vmware.vim25.mo.ServiceIns
tance;
import com.vmware.vim25.mo.Task;
import com.vmware.vim25.mo.VirtualMachine;
/**
* http://vijava.sf.net
* @author Steve Jin
*/
public class VMpowerOps
{
public static void main(String[] args) throws Exception
{
if(args.length!=5)
{
System.out.println("Usage: java VMpowerOps <url> " +
"<username> <password> <vmname> <op>");
System.out.println("op - reboot|poweron|poweroff" +
"|reset|standby|suspend|shutdown");
System.exit(0);
}
String vmname = args[3];
String op = args[4];
ServiceInstance si = new ServiceInstance(
new URL(args[0]), args[1], args[2], true);
Folder rootFolder = si.getRootFolder();
VirtualMachine vm = (VirtualMachine) new InventoryNavigator(
rootFolder).searchManagedEntity("VirtualMachine", vmname);
if(vm==null)
{
System.out.println("No VM " + vmname + " found");
si.getServerConnection().logout();
return;
}
if("reboot".equalsIgnoreCase(op))
{
vm.rebootGuest();
System.out.println(vmname + " guest OS rebooted");
}
else if("poweron".equalsIgnoreCase(op))
{
Task task = vm.powerOnVM_Task(null);
if(task.waitForMe()==Task.SUCCESS)
{
System.out.println(vmname + " powered on");
}
}
else if("poweroff".equalsIgnoreCase(op))
{
Task task = vm.powerOffVM_Task();
if(task.waitForMe()==Task.SUCCESS)
{
System.out.println(vmname + " powered off");
}
}
else if("reset".equalsIgnoreCase(op))
{
Task task = vm.resetVM_Task();
if(task.waitForMe()==Task.SUCCESS)
{
System.out.println(vmname + " reset");
}
}
else if("standby".equalsIgnoreCase(op))
{
vm.standbyGuest();
System.out.println(vmname + " guest OS stoodby");
}
else if("suspend".equalsIgnoreCase(op))
{
Task task = vm.suspendVM_Task();
if(task.waitForMe()==Task.SUCCESS)
{
System.out.println(vmname + " suspended");
}
}
else if("shutdown".equalsIgnoreCase(op))
{
Task task = vm.suspendVM_Task();
if(task.waitForMe()==Task.SUCCESS)
{
System.out.println(vmname + " suspended");
}
}
else
{
System.out.println("Invalid operation. Exiting...");
}
si.getServerConnection().logout();
}
}
The code you are referencing is for VMware vSphere (ESX or vCenter - enterprise services) - not the desktop-based VMware Workstation. 您引用的代码适用于VMware vSphere(ESX或vCenter-企业服务),而不适用于基于桌面的VMware Workstation。
For additional reference, please refer to the URL you sited at the top of your example: http://vijava.sourceforge.net/ . 有关其他参考,请参考位于示例顶部的URL: http : //vijava.sourceforge.net/ 。 See also: https://developercenter.vmware.com/-/connect-to-vsphere-from-a-java-program-getting-started- .
另请参阅: https : //developercenter.vmware.com/-/connect-to-vsphere-from-a-java-program-getting-started- 。
For VMware Workstation, it looks like you should be able to use vmrun . 对于VMware Workstation,看起来您应该能够使用vmrun。 Documentation is available for this at https://www.vmware.com/support/developer/vix-api/vix112_vmrun_command.pdf .
有关此文档的信息,请访问https://www.vmware.com/support/developer/vix-api/vix112_vmrun_command.pdf 。 I also found another write-up at http://www.virtualizationadmin.com/articles-tutorials/vmware-esx-and-vsphere-articles/managing-workstation-and-vsphere-vmrun-command.html .
我还在http://www.virtualizationadmin.com/articles-tutorials/vmware-esx-and-vsphere-articles/managing-workstation-and-vsphere-vmrun-command.html上找到了另一篇文章。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.