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会迷糊我到底需要哪个模块的指令。
如果为了避免混淆,需要把模块名字前缀上去就不会有冲突了
看完上述内容,你们掌握PowerShell CLI如何获取VM信息的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/204668.html