安装VMware PowerCLI


介绍在win10系统 快速安装vmware PowerCLI (ver:12.3)

获取新版本的PowerCLI

官方入口:VMware PowerCLI 说明 PowerCLI 自 v6.5R1 之后应该都是无安装版,需要使用windows PS作为cmdlet调用窗口。 PowerCLI与VMware其他产品交互性查询

安装PowerCLI

安装此版本之前,如当前系统已有PowerCLI 6.5及之前的版本,需要卸载掉低版本。

在线安装

打开windows 10 的powershell (管理员)

Install-Module VMware.PowerCLI -Scope CurrentUser

离线安装

  1. 打开powershell
  2. 执行如下命令
$env:PSModulePath
PS C:\WINDOWS\system32> $env:PSModulePath
C:\Users\ilu\Documents\WindowsPowerShell\Modules;
C:\Program Files\WindowsPowerShell\Modules;
C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;
C:\Program Files (x86)\Windows Kits\10\Microsoft Application Virtualization\Sequencer\AppvPkgConverter;
C:\Program Files (x86)\Windows Kits\10\Microsoft Application Virtualization\Sequencer\AppvSequencer;
C:\Program Files (x86)\Windows Kits\10\Microsoft Application Virtualization\
  1. 选择其中某一个Module路径,比如:C:\Program Files\WindowsPowerShell\Modules
  2. 将下载到本地的PowerCLI.zip 文件解压到选择的路径下。
  3. 解锁已拷贝过来的文件
Get-ChildItem -Path 'C:\Program Files\WindowsPowerShell\Modules' -Recurse | Unblock-File
  1. 修改策略,执行如下命令
Set-ExecutionPolicy RemoteSigned
--//选择 Y

升级PowerCLI

Update-Module VMware.PowerCLI -Scope CurrentUser

使用举例

1)连接vCenter

Connect-VIServer -Server esx3.example.com -Protocol http -User 'MyAdministratorUser' -Password
'MyPassword'

2) 管理VM

--// 查看所有虚拟机
Get-VM
--// 获取虚拟机名称机电源状态,并保存至文件
$respool = Get-ResourcePool ResourcePool
Get-VM -Location $respool | Select-Object Name, PowerState > myVMProperties.txt

--// 启动虚拟机
Get-VM VM | Start-VM

--// 获取VM的客户机OS
Get-VMGuest VM | fc

--// 关闭VM的客户机OS
Stop-VMGuest VM

--// VM下电
Stop-VM VM

--// 从主机1移动VM到主机2
Get-VM -Name VM -Location Host01 | Move-VM –Destination Host02

3) 添加单独主机到vCenter

--// 查看当前vCenter中的所有host
Get-VMHost

--// 添加独立主机到vCenter
Add-VMHost -Name Host -Location (Get-Datacenter DC) -User root -Password pass

4) 设置主机的License Key

--// 设置一个变量,将主机保存至变量中
$vmhost = Get-VMHost -Name Host

--// 设置主机为评估模式
Set-VMHost -VMHost $vmhost -LicenseKey 00000-00000-00000-00000-00000

--// 导入正式license Key
Set-VMHost -VMHost $vmhost -LicenseKey Your_license_key

5) 批量激活维护模式

--// 设置所有主机到变量vmhost
$vmhost = Get-VMHost -Name Host

--// 保存主机所在的集群到变量vmhostCluster
$vmhostCluster = Get-Cluster -VMHost $vmhost

--// 启动激活主机维护模式任务,并保存到变量
$updateHostTask = Set-VMHost -VMHost $vmhost -State "Maintenance" -RunAsync

>>“If the host is not automated or is partially automated and has powered-on virtual
machines running on it, you must use the RunAsync parameter and wait until all powered-on
virtual machines are relocated or powered off before applying DRS recommendations”<<

--// 应用DRS建议(如果启用了DRS的话)
Get-DrsRecommendation -Cluster $vmhostCluster | where {$_.Reason -eq "Host is entering
maintenance mode"} | Invoke-DrsRecommendation

--// 设置变量,保存任务输出
$myUpdatedHost = Wait-Task $updateHostTask

--/jxb/--