安装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
离线安装
- 打开powershell
- 执行如下命令
$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\
- 选择其中某一个Module路径,比如:C:\Program Files\WindowsPowerShell\Modules
- 将下载到本地的PowerCLI.zip 文件解压到选择的路径下。
- 解锁已拷贝过来的文件
Get-ChildItem -Path 'C:\Program Files\WindowsPowerShell\Modules' -Recurse | Unblock-File
- 修改策略,执行如下命令
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/--