PowerShell CLI 获取VM信息

豆子最近接管了一些ESXi 5.0,上面有很多虚拟机,不过这些虚拟机的SCSI的驱动很多都还在使用旧版本比如LSIBasci,LSISAS等等。我希望把他们都更新到ParaVirtual的驱动,更新方式很简单,手动添加一个硬盘和SCSI驱动器,选择ParaVirtual,等操作系统识别出硬盘以后就表示驱动已经自动安装了,那么删除这个新硬盘并修改启动盘的驱动器类型就行了。

不过首先 我得先获取所有VM的SCSI和操作系统的类型才方便下一步的操作。

连接VCenter很容易,下载对应的PowerCli,然后添加Snappin就行。如果懒得每次执行,可以在powershell profile里面配置每次启动ISE自动加载。

    Add-PSSnapin VMware.VimAutomation.Core

然后连接VCenter,就可以查看类型了。语句本身没啥好说的,我用了个tee来保存变量,这样我可以同时在屏幕上也看见结果。最后导出结果。

Connect-viserver sydvcs2012
get-VM | select version,Name, powerstate, numcpu, Memorygb, @{N="IP Address";E={@($_.guest.IPAddress[0])}},@{n="OS";e={$_.guest.osfullname}}, @{n="scsi";e={(Get-ScsiController $_.name).type}} | 
tee -variable result
$result | sort scsi | Export-Csv C:\temp\mel.csv -NoTypeInformation
Disconnect-VIServer

值得一提的是get-vm刚开始的时候出了些小问题,因为我同时安装了hyper-v的模块,hyper-v也有get-vm这个命令。有的时候powershell会迷糊我到底需要哪个模块的指令。

如果为了避免混淆,需要把模块名字前缀上去就不会有冲突了

时间: 2024-10-13 03:44:19

PowerShell CLI 获取VM信息的相关文章

Azure ARM模式下获取订阅下VM信息

Azure ARM模式下获取VM信息 马上就要双十一了,对于一些大客户而言,使用的VM机器超过几百台,无论是促销活动还是每个季度的机器梳理,都需要对这些VM进行梳理总结,是否有公网IP,IP动态静态,对于动态IP而言,因为机器重启有可能造成IP改变,有可能对业务造成很大影响.所以快速获取订阅下所有VM信息就很重要. 如下介绍通过直接运行PowerShell脚本就可以很快获取到全部信息 脚本如下: 可以通过powershell收集统计VM的公网IP,内网IP,机器型号,位置,操作系统,端口 # L

使用PowerShell脚本获取远程主机的IP配置信息

使用PowerShell脚本获取远程主机的IP配置信息 代码如下: [cmdletbinding()]param ([parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)][string[]]$ComputerName = $env:computername) begin {}process {foreach ($Computer in $ComputerName) {if(Test-Connection

PowerShell_零基础自学课程_6_PS中获取帮助信息详解、管道、格式化输

前些文章陆续的说了一些关于这些主题,但是讨论的都不够深入,今天我们深入的了解一下获取帮助信息.管道以及格式化输出的内容. 一.获取帮助信息 在PS中获取帮助信息,最常用的有: -? .get-command和get-help.这三者获取的信息不是完全一致的,并且由于get-command和get-help是cmdlet:因此具有很多实用 的参数来帮助我们获取我们想要的信息. 1.1  -? 参数 如果我们知道某个cmdlet的拼写,但是不知道他的用户,那么最快速的方法就是用:-? 参数. 例如:

使用PowerShell 链接Azure 查看信息

由于工作原因接触Azure的学习,之前对Azure很感兴趣,只是工作太忙没有业余时间去琢磨. 今天拿到Azure的环境,菜鸟先上来试验一把 1.先在本地安装Azure PowerShell Azure 的PowerShell组件下载地址 http://go.microsoft.com/fwlink/p/?linkid=320376&clcid=0x409 注:Azure Powershell是需要.net framework 4.5的,所以如果你目前的PC是Win7或者更老版本的话,请安装.NE

使用Powershell批量获取Exchange 2013邮箱用户容量使用量

今天有客户要求需要获取邮箱用户的一些基本信息,其中一项是邮箱容量使用情况.需要使用Powershell来批量获取这些信息,于是乎我开始着手编写Powershell脚本. 我了解到微软官网https://gallery.technet.microsoft.com/scriptcenter/Exchange-2010-2013-2016-cee5e558.提供了这个脚本,脚本实现的功能和我需要实现的功能大体一致,我也不用去费劲儿从头编写代码了.下面我将我改造后的脚本分享给大家. 1.脚本实现的功能

获取表头信息

sparksql中获取表头信息 方法一: 可以使用  describe table; 方法二: 先 SET hive.cli.print.header=true; 然后 select * from table limit 0; 代码中的使用直接通过list<Map<String,Object>> tableHead = jdbcBaseDao.getBackSimpleJdbcTemplate().queryForList(sql.toString()); 便可获得这些列名信息,从

PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息

最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取主机信息 这种方式获取的主机信息相对是比较新的(每分钟更新一次).但因为每次都需要请求接口,所以相对比较慢,如果并发查询的主机数量比较多,就会非常慢. 开源监控系统ZABBIX的官方文档提供了丰富的API.我这里http请求是用的Guzzle 6.当然你也可以用php内置的curl函数自己写一个ht

【Android实战】实现新浪微博第三方登录获取用户信息

本来最开始研究的腾讯微博第三方登录,但腾讯微博的SDK太糟糕了,估计他们自己都放弃了.想想也是,除了腾讯自家的应用在用腾讯微博,其他的开发者基本不去碰这块.所以马上去研究微博老大去了,平台果然强大,代码和文档一大堆,研究了半天,找点自己需要的功能,还是有点收获,先把这些记录下来,以后再慢慢研究. 目前实现的是实现第三方的登录,获取用户名显示到第三方应用上面. 主类,用到了Afinal框架 public class WbMainAct extends FinalActivity { // @Vie

微信企业号 获取用户信息

业务操作最基础的一个功能是获取访客的身份,传统的获取方式是提供一个登录页面用以访客登录. 在微信企业号中,用户在微信中访问页面时,可以根据相关API获取此用户的微信账号信息,以此来匹配业务服务器存储的相关用户信息. 目录 1.  介绍 2.  代码示例 1. 介绍 1.1 说明 企业号的网页开发,说白了就是移动端web开发,特殊点在于如何获取微信用户的身份信息. 在企业号中可以进行如下步骤获取微信用户信息: 访问一个业务页面时,可通过OAuth验证接口获取此用户信息 → 根据code获取user