[简版]VMware强大的管理工具-PowerCLI

Posted lazen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[简版]VMware强大的管理工具-PowerCLI相关的知识,希望对你有一定的参考价值。

一、PowerCLI介绍

  • 什么是 PowerCLI?
    PowerCLI 是一个命令行工具,可以用于自动化vSphere管理,包括网络,存储, 虚拟机以及其他很多功能。PowerCLI包含超过700个命令。
  • 要安装PowerCLI,你至少需要确保你的PowerShell版本不低于5.1。

二、PowerCLI安装

1.PowerShell命令行直接安装

Install-Module VMware.PowerCLI

2.离线安装PowerCLI

  • 下载PowerCLI离线包,点击网址
  • 打开powershell,查看Powershell环境变量路径
$env:PSModulePath
  • 将离线包解压到上述其中一个路径
  • 运行命令导入模块
Get-ChildItem -Path xxxxx -Recurse | Unblock-File
  • 查看是否已经导入成功
Get-Module VMware* -ListAvailable

• Tips:

  • 对于Powershell,默认禁止运行脚本,需要开放
set-ExecutionPolicy RemoteSigned
  • 最后别忘了关闭powercli的证书检查,因为通常vCenter都是使用自签名证书,不受信任
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false 

三、PowerCLI几个常见的使用方式

0. 连接到vCenter

  • 为了使用PowerCLI,通常第一步先要连接到vCenter
Connect-ViServer vcenter_ip-or-esxi_ip -User username -Password some_very_secure_password
  • 确定连接成功
Get-VM vmname (找一个存在的虚拟机名)

1. 操作虚拟机

#导出关机虚拟机列表
Get-VM | Where-Object $_.PowerState -eq "PoweredOff" | Export-Csv -Path c:\\users\\username\\desktop\\poweredoff-vms.csv -NoTypeInformation
#导出虚拟机列表,仅包含部分信息
Get-VM | Select Name,PowerState,NumCPU,MemoryMB | Export-Csv -Path c:\\users\\username\\desktop\\vms.csv -NoTypeInformation

#开启虚拟机
Get-VM vmname | Start-VM
#关闭虚拟机电源,硬关机
Stop-VM -VM vmname -Confirm:$False
#关闭虚拟机,软关机,需要VMTools正常安装并运行
Shutdown-VMGuest -VM vmname -Confirm:$False
#重置虚拟机,硬重启
Restart-VM -VM vmname -Confirm:$False
#重启虚拟机,软重启,需要VMTools正常安装并运行
Restart-VMGuest -VM vmname -Confirm:$False
#vMotion虚拟机到另一个主机
Get-VM -Name vmname -Location esxi01 | Move-VM –Destination esxi02

2. 导出某个虚拟机为ova格式

新版本vCenter导出虚拟机都是ovf+vmdk+mf+nvram文件了,要是想导出一个ova格式的文件怎么办呢?通过PowerCLI来。以下连接vCenter执行。

#移除cd-rom
Get-VM -Name "VMNAME" | Get-CDDrive | Set-CDDrive -NoMedia -confirm:$false
#关机,注意,会将虚拟机关机的!
Get-VM -Name "VMNAME" | Shutdown-VMGuest -confirm:$false
#导出ova
Get-VM -Name "VMNAME" | Export-Vapps -Destination "c:\\users\\username\\desktop\\vmname.ova" -Type OVA

3. 给虚拟机打标签

#给单个虚拟机打标签
Get-VM test_vm_name | New-TagAssignment -Tag tag_name
#给虚拟机文件夹里面的虚拟机打标签
$vmlist = Get-Folder -Name folder_nam | Get-VM
foreach ($vm in $vmlist) 
Get-VM $vm | New-TagAssignment -Tag tag_name

  • 按照csv表格给虚拟机打标签(例如下表:vm-tag.csv)
vmnamevmtag
vm01tag01
vm02tag02
$vms = Import-Csv -Path ~\\Desktop\\vm-tag.csv
foreach ($vm in $vms) 
Get-VM $vm.vmname | New-TagAssignment -Tag $vm.tagname

以上是关于[简版]VMware强大的管理工具-PowerCLI的主要内容,如果未能解决你的问题,请参考以下文章

26个适用于VMware管理员的强大工具,收藏了!

虚拟机不能安装虚拟机工具VMware Tools

Android-版本控制 SVN & GIT

vmware6.2能否像6.5一样可以最小化到托盘区?

安装虚拟机精简版centos7

虚拟机安装VMware Tools时提示的错误,怎么解决?