public void queryVM() {
ServiceInstance serviceInstance = null;
try {
//连接vCenter
serviceInstance = connectVCenter();
Folder rootFolder = serviceInstance.getRootFolder();
System.out.println("rootFolder:"+rootFolder.getName());
InventoryNavigator inventoryNavigator = new InventoryNavigator(rootFolder);
ManagedEntity[] mes = inventoryNavigator.searchManagedEntities("HostSystem");
System.out.println("群集计算机资源数量:" + mes.length);
HostSystem hostSystem = getHostSystemConfigInfo(mes);
if(hostSystem == null){
return;
}
//获取虚拟机资源(1)
ManagedEntity me = new InventoryNavigator(rootFolder).searchManagedEntity("VirtualMachine","VM2020050711025494ad");
if(me== null){
System.out.println("查无此机器!");
return;
}
VirtualMachine virtualMachine = (VirtualMachine) me;
System.out.println("主机状况:"+virtualMachine.getOverallStatus().name());
System.out.println("主机状态:"+virtualMachine.getSummary().getRuntime().getPowerState().name());
GuestInfo guestInfo = virtualMachine.getGuest();
System.out.println("操作系统家族:"+guestInfo.getGuestFamily());
System.out.println("操作系统全名:"+guestInfo.getGuestFullName());
System.out.println("操作系统标识符:"+ guestInfo.getGuestId() );
System.out.println("系统的主机名:"+guestInfo.getHostName());
System.out.println("来宾操作系统的主要IP地址:"+guestInfo.getIpAddress());
System.out.println("IP网络堆栈的来宾信息:"+guestInfo.getIpStack());
System.out.println("=============================");
//获取虚拟机资源(2)
VirtualMachine[] vmi=hostSystem.getVms();
for(VirtualMachine vm :vmi){
if(vm.getName().equals("test10")){
System.out.println("找到这台服务器!");
System.out.println("主机状况:"+vm.getOverallStatus().name());
System.out.println("主机状态:"+vm.getSummary().getRuntime().getPowerState().name());
break;
}else {
System.out.println("查无此机器!");
}
}
}catch (Exception e){
e.printStackTrace();
}finally {
disconnect(serviceInstance);
}
}