首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用VI Java获取Vmware中的PoweredOn VM计数

可以通过以下步骤实现:

  1. 首先,需要在Java项目中引入VI Java的相关依赖库,以便能够与Vmware vSphere进行交互。可以在Maven或Gradle配置文件中添加以下依赖:
代码语言:txt
复制
<dependency>
    <groupId>com.vmware</groupId>
    <artifactId>vmware-vim25</artifactId>
    <version>6.7</version>
</dependency>
  1. 在代码中建立与Vmware vSphere的连接。可以使用以下代码示例:
代码语言:txt
复制
import com.vmware.vim25.mo.*;

public class VmwareConnection {
    private static final String VCENTER_URL = "https://vcenter.example.com/sdk";
    private static final String VCENTER_USERNAME = "username";
    private static final String VCENTER_PASSWORD = "password";

    public static ServiceInstance connect() throws Exception {
        return new ServiceInstance(new URL(VCENTER_URL), VCENTER_USERNAME, VCENTER_PASSWORD, true);
    }
}

请将VCENTER_URL替换为您的vCenter服务器URL,VCENTER_USERNAMEVCENTER_PASSWORD替换为您的vCenter登录凭据。

  1. 获取PoweredOn VM计数。可以使用以下代码示例:
代码语言:txt
复制
import com.vmware.vim25.mo.*;

public class VmwarePoweredOnVMCount {
    public static void main(String[] args) {
        try {
            ServiceInstance serviceInstance = VmwareConnection.connect();
            Folder rootFolder = serviceInstance.getRootFolder();
            ManagedEntity[] managedEntities = new InventoryNavigator(rootFolder).searchManagedEntities("VirtualMachine");

            int poweredOnVMCount = 0;
            for (ManagedEntity managedEntity : managedEntities) {
                VirtualMachine virtualMachine = (VirtualMachine) managedEntity;
                VirtualMachineRuntimeInfo runtimeInfo = virtualMachine.getRuntime();
                if (runtimeInfo.getPowerState() == VirtualMachinePowerState.poweredOn) {
                    poweredOnVMCount++;
                }
            }

            System.out.println("PoweredOn VM Count: " + poweredOnVMCount);

            serviceInstance.getServerConnection().logout();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这段代码通过遍历所有的VirtualMachine实体,判断每个虚拟机的电源状态是否为"poweredOn",并统计PoweredOn VM的数量。

以上就是使用VI Java获取Vmware中的PoweredOn VM计数的完整步骤。对于更多VI Java的用法和详细信息,可以参考腾讯云的相关产品和文档:

  • 腾讯云产品:云服务器(CVM)
  • 产品介绍链接地址:https://cloud.tencent.com/product/cvm
  • 文档链接地址:https://cloud.tencent.com/document/product/213
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ansible配置管理vCenter及相关虚拟机

Ansible支持的模块: http://docs.ansible.com/ansible/latest/modules/modules_by_category.html 对VMware的支持: Vmware...获取vCenter整体信息 --- -  name: vmware facts from vCenter   hosts: localhost        #指定运行playbook的服务器,一般设置为...register: vmfacts     - name: print facts       debug:         msg: "{{vmfacts}}" 在vmfacts里面显示从vCenter中获取的所有配置相关信息...username: administrator@vsphere.local         password: P@ssw0rd         guest: ansible_test_name #想要获取信息的虚拟机名称..."         vm_shell_cwd: "/tmp"     - debug:         msg: "{{vmfacts}}" 通过vm_tools将任意shell脚本注入到VMware虚拟机中

4.4K70

用Ansible自动供应vmware虚拟机--构建数据中心一体化运维平台第二篇

我也不喜欢vmware的云套件,因为不想和vmware有太深的羁绊,以至于将来可能会失业什么的。 所以我一直在寻找一种简单粗暴的办法。...利用IAC工具的特性(比如非常重要的幂等性)将虚机模版和配置解耦合。 所有配置都从模版中拿出来,放在代码中。如果有修改只需要修改相应的代码然后重新刷一遍已经生成的实例就行了。...vmware tools open-vm-tools 包信息如下 rpm -qi open-vm-tools Name : open-vm-tools Version : 10.0.5...the VM vmware_guest: hostname: vcenter的ip地址 username: vcenter的用户名 #如果是用的windows域 那就写...vcenter连接都是https的,使用的是自签发的证书。 然而这里validate_certs: no的配置并未生效。 网上找了很多说法,有的说是python的,有的说是ansible的。

2.9K20
  • 不背锅运维:VMware vSphere API玩法

    写在前面 接上篇,上篇分享了openstack的api使用套路,本篇分享vmware的api使用套路,希望可以帮助到有需要的盆友。...图片 还有一个特别注意的地方,就是vim.VirtualMachine,它其实是某种对象类型的表示方法或者说是标识。比如,使用python的pyvmomi库,就需要指定查找的对象类型。...如果是使用go,则是指定"VirtualMachine" 使用Go编码,获取虚拟机属性: package main import (  "context"  "flag"  "fmt"  "log"...]# go run coll-vsphere.go  192.168.11.104 poweredOn photon3-hdcs poweredOn 使用Python编码,获取虚拟机属性: import...每一个方法都详细描述了所需要的参数。在每个具体的对象类型中,都描述了所支持的方法,这些方法也可以在“All Methods”里查到。

    1.9K31

    Java中InetAddress的使用(二):获取本机IP地址的正确姿势【享学Java】

    前言 本文接着上文的内容,主要解答上文留下的疑问:既然不能使用InetAddress#getLocalHost()直接去获取到本机的IP地址,那么如何破呢?...为何在Linux下请你一定不要使用它来获取本机IP,因为它就是简单的读取/etc/hosts的内容,所以它默认返回的是127.0.0.1非常的不靠谱,因此本方法十分不建议在生产上使用。...复杂情况(通用,推荐的方案) 它是一种通用方案,推荐使用在实际的代码中。...InetAddress的其它实例方法们介绍 //获取主机名 public String getHostName(); //获取主机名(每次方法都解析DNS去获取主机名,而不从缓存中获取) public...public boolean isMCOrgLocal(); ---- 总结 关于InetAddress的所有内容就介绍到这,相信经过此两篇内容的讲解后,你对Java处理域名解析,以及获取本地IP地址时将不会再胆怯

    17.5K76

    『中级篇』docker网络(23)

    从本节开始,docker新的章节的学习,docker网络。net-work中在日常的开发和运维上运用,建立一个服务,访问一个数据库,都需要网络的了解。docker单机,多机。...编辑多机Vagrantfile 本节还是通过vagrant的方式来创建虚拟机,在github中No.2里面有个Vagrantfile # -*- mode: ruby -*- # vi: set ft=...= opts[:name] config.vm.provider "vmware_fusion" do |v| v.vmx["memsize"] = opts[:mem...PS:本机基本上docker的多虚拟机网络已经完成了,比较简单,毕竟是演示环境,可能有老铁说,为啥设置成了自动获得IP,而不是静态IP,毕竟是学习的环境,我也尝试改成过静态IP但是ping不通,其实我的思路就是先让计算机帮我设置一个自动获取的...= opts[:name] config.vm.provider "vmware_fusion" do |v| v.vmx["memsize"] = opts[:mem

    31520

    ZABBIX Monitor VMware Host

    这些进程通过 SOAP 协议从 VMware Web 服务获取必要的信息,对其进行预处理并存储到 Zabbix server 共享内存中。...注意: ①由于监控进程使用soap协议获取虚拟机信息,直接通过https://ip/sdk,返回400是正常现象 ②zabbix 监控vCenter 6.5以上版本时需要在web client中主机系统高级设置里面打开...”Template VM VMware Guest“和”Template VM VMware Hypervisor“模板由自动发现使用,通常设置为自动链接到主机。...注意:如果不需要监控EXSI上的虚拟机需要在Template VM Vmware模板自动发现规则中把 Discover VMware VMs停用。...ZABBIX Monitor VMware ESXI 监控EXSI主机使用Template VM VMware Hypervisor模板,需要预先查询ESXI主机的UUID。

    2.6K50

    『中级篇』docker网络(23)

    从本节开始,docker新的章节的学习,docker网络。net-work中在日常的开发和运维上运用,建立一个服务,访问一个数据库,都需要网络的了解。docker单机,多机。...vagrant的方式来创建虚拟机,在github中No.2里面有个Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.require_version...= opts[:name] config.vm.provider "vmware_fusion" do |v| v.vmx["memsize"] = opts[:mem...,比较简单,毕竟是演示环境,可能有老铁说,为啥设置成了自动获得IP,而不是静态IP,毕竟是学习的环境,我也尝试改成过静态IP但是ping不通,其实我的思路就是先让计算机帮我设置一个自动获取的IP,我可以在他的基础上设置自己的静态...= opts[:name] config.vm.provider "vmware_fusion" do |v| v.vmx["memsize"] = opts[:mem

    33940

    esxi(vsphere):打开虚拟机和主机之间的copypaste功能

    https://blog.csdn.net/10km/article/details/53066118 在VMware Workstation中运行的虚拟机如果安装了vmware-tools...(如何安装vmware-tools网上有很多教程,这里不再说明),基本上就可以正常使用主机和虚拟机之间的copy/paste文本粘贴,但在(vsphere4.0以后)esxi上因为安全限制更高,所以安装...点击“配置参数”打开参数配置界面,再点击”添加行”,增加下图中红框标注的两行 ? 重新打开虚拟电源,copy/paste就可以使用了。...打开虚拟机电源,启动后登录到虚拟机 用vi 打开vmware-tools配置文件sudo vi /etc/vmware-tools/config 添加下面两行,wq保存文件,再重启虚拟机,copy/...sunev/archive/2012/03/16/2400887.html http://www.vladan.fr/how-to-re-enable-the-copy-paste-between-vi-client-and-vm-in-vsphere

    3.7K30

    kvm研究和实践

    domblkstat 显示正在运行的客户端的块设备统计。 domifstat 显示正在运行的客户端的网络接口统计。 attach-device 使用 XML 文件中的设备定义在客户端中添加设备。...VMware ESX 服务器的连接需要授权,virt-v2v 支持密码方式的授权连接,可以从 $HOME/.netrc 文件中读取密码并自动登录。如果主机系统没有这个文件,就手动创建它。...1.使用ovirt-engine所在的OS的root用户登录 2.将密码写入到一文件中,如/tmp/passwd 3.执行命令: engine-config -s AdminPassword=/tmp...KVM 在 Linux 内核中的集成使它能够自动利用新 Linux 内核版本中的任何改进。...KVM 可在物理服务器上使用在该物理系统上运行的 Linux VM 中使用的相同内核。 Xen 的虚拟机管理程序是一段单独的源代码,它自己的潜在缺陷与它所托管的操作系统中的缺陷无关。

    1.8K51

    VMware Infrastructur

    Chapter 1 Introducing VMware Infrastructure 3         VM Infrastructure 3 (VI3)平台是目前最为流行的虚拟化平台。...VMware VirtualCenter         管理ESX Server如果不使用VMware VirtualCenter的话,就如同Windows网络中不使用活动目录来管理,目前的最新版本是...IT管理员通过使用它可以配置,监控等操作,从而对VI3平台进行安装的自动管理。允许使用的数据库包括SQL以及ORACLE,用来储存主机与虚拟机数据。...HA 结合使用可提供虚拟机中的应用程序所需的可用性,并且不依赖于其中运行的操作系统和应用程序。...VMware Consolidated Backup 提供了集中式的备份工具,让您能够使用来自 VMware 合作伙伴的领先备份软件,保护您的虚拟机中的系统、应用程序和用户数据,同时减少虚拟化服务器上的负载

    79910

    Linux养成计划(一)

    如果你想在计算机行业深入下去建议去系统学习,因为Windows隐藏了太多的操作系统细节,通过学习linux你会开阔很多眼界,而且就java本身而言,它也更适合linux,因为绝大多数的Java服务器都是...同样作为学习使用,我们建议安装虚拟机,我们这里选择VMware软件,虚拟机可以使你在一台机器上同时运行多个操作系统。...安装后的CentOS系统就是一系列的文件,同样可以把装好后的"一系列文件"移植到别的操作系统上。别的操作系统也必须使用Vm打开,这种移植对测试服务器的压力等非常有帮助。...VM软件可以参考历史链接:连接虚拟机数据库 来获取安装包,本教材使用CentOS 7发行版本,下载链接:http://mirrors.163.com/centos/7/isos/x86_64/ ,CentOS...输入命令 vi ifcfg-ens33 ? 46. 先输入 i 进入编辑模式,找到ONBOOT=no ? 47.

    88120

    Docker for Windows 使用 VMware WorkStation

    使用过VMware WorkStation的朋友应该知道,vm无法与hyper-v共存。那么如果我的电脑已经安装和使用VM,如何才能使用Docker for Windows呢,请看下面的讲解。...四.安装Docker Machine 1.打开VMware Workstation 这一步是必须的!VM版本必须大于10。...5.设置环境变量 打开环境变量设置,对于第3步中的提示设置系统环境变量: ? 设置这五个即可,最后记得要点确定哦。.../registry.docker-cn.com"] } 保存,重启即可 七.收尾工作 因为我们使用的VM,所以我们在使用docker的时候,必须保证vm的dev示例是在运行的: ?...此方法目前有个缺点,就是无法使用Docker for Windows的UI管理功能,但是这并不影响,通过命令我们可以完成所有的事情,所以我们在服务中,停止Docker for Windows Service

    3.8K20
    领券