VMware vCenter低版本与高版本有一定的差异性,7版本的脚本在6.0上问题超多,很容易踩坑,记录下



连接 vCenter Server
Connect-VIServer -Server <vCenter_Server_Name_or_IP> -User <UserName> -Password <Password>
Connect-VIServer -Protocol https -User 'administrator@vsphere.local' -Password '2wNKEDser21NK' -Server 192.168.122.222 

获取vCenter Server数据中心
Get-Datacenter
获取 vCenter Server 中的主机
Get-VMHost
获取 vCenter Server 中的虚拟机
Get-VM
获取 vCenter Server 中的存储
Get-Datastore
获取 vCenter Server 中的网络
Get-VirtualSwitch
Get-VMHostNetworkAdapter
查看集群
Get-Cluster
创建虚拟机
New-VM -Name '虚拟机名称' -VMHost '主机名称' -Datastore '数据存储名称' -DiskMB '磁盘大小_MB' -MemoryMB '内存大小_MB' -CD -GuestId '操作系统ID'

New-VM -Name vm-test01 -VMHost 192.168.122.220 -Datastore datastore1 -DiskGB 16GB -MemoryGB 1GB -NumCpu 1 -NetworkName 'VM Network'

从模版中生成一个虚拟机
New-VM -Name VM249 -Template debian-11 -VMHost 192.168.122.221 -NetworkName 'VM Network' -Datastore datastore2 -RunAsync
删除vm
Remove-VM -VM <VM_Name>
启动、关闭或重启虚拟机
Start-VM -VM <VM_Name>
Stop-VM -VM <VM_Name>
Restart-VM -VM <VM_Name>
创建快照
New-Snapshot -VM <VM_Name> -Name <Snapshot_Name>
删除快照
Remove-Snapshot -Snapshot <Snapshot_Name> -Confirm:$false

获取虚拟机 CPU 和内存使用情况
Get-VM | Select Name, NumCpu, MemoryGB, @{n="CPU Usage (%)";e={($_ | Get-Stat -Stat cpu.usage.average -Realtime -MaxSamples 1 -ErrorAction SilentlyContinue | Measure-Object Value -Average).Average}} , @{n="Memory Usage (%)";e={($_ | Get-Stat -Stat mem.usage.average -Realtime -MaxSamples 1 -ErrorAction SilentlyContinue | Measure-Object Value -Average).Average}}


Get-HardDisk -VM <VM_Name> | Select-Object -Property Parent, Name, CapacityGB, @{n="UsedSpaceGB";e={[math]::Round(((($_ | Get-Stat -Stat disk.used.latest -ErrorAction SilentlyContinue | Select-Object -First 1).Value)/1GB),2)}}

Get-HardDisk -VM VM249 | Select-Object -Property Parent, Name, CapacityGB, @{n="UsedSpaceGB";e={[math]::Round(((($_ | Get-Stat -Stat disk.used.latest -ErrorAction SilentlyContinue | Select-Object -First 1).Value)/1GB),2)}}