Powercli examples
Jump to navigation
Jump to search
auth to api
$vCenters = @("vmc01", "vmc02") Connect-VIServer -Server $vCenters
do stuff
# Connect to vCenter server # Connect-VIServer -Server <vCenterServer> -User <Username> -Password <Password> # Specify the cluster name $clusterName = "YourClusterName" # Get all virtual machines on the specified cluster $vmList = Get-VM -Location (Get-Cluster -Name $clusterName) # Display information about each virtual machine foreach ($vm in $vmList) { Write-Host "VM Name: $($vm.Name) | Cluster: $($vm.Cluster) | PowerState: $($vm.PowerState)" } # Disconnect from vCenter server Disconnect-VIServer -Confirm:$false
Max CPU
# Connect to vCenter server Connect-VIServer -Server <vCenterServer> -User <Username> -Password <Password> # Specify the cluster name $clusterName = "YourClusterName" # Specify the start and end dates for the 7-day period $endDate = Get-Date $startDate = $endDate.AddDays(-7) # Get CPU usage statistics for the specified cluster in the 7-day period $cpuStats = Get-Stat -Entity (Get-Cluster -Name $clusterName) -Stat "cpu.usage.average" -Start $startDate -Finish $endDate -MaxSamples 1 -IntervalMins 5 # Find the maximum CPU usage value $maxCpuUsage = $cpuStats | Measure-Object -Property Value -Maximum | Select-Object -ExpandProperty Maximum # Display the result Write-Host "Maximum CPU Usage in the last 7 days for Cluster '$clusterName': $maxCpuUsage%" # Disconnect from vCenter server Disconnect-VIServer -Confirm:$false
Max Memory
# Specify the start and end dates for the 7-day period $endDate = Get-Date $startDate = $endDate.AddDays(-7) # Get memory usage statistics for the specified cluster in the 7-day period $memoryStats = Get-Stat -Entity (Get-Cluster -Name $clusterName) -Stat "mem.usage.average" -Start $startDate -Finish $endDate -MaxSamples 1 -IntervalMins 5 # Find the maximum memory usage value $maxMemoryUsage = $memoryStats | Measure-Object -Property Value -Maximum | Select-Object -ExpandProperty Maximum # Display the result Write-Host "Maximum Memory Usage in the last 7 days for Cluster '$clusterName': $maxMemoryUsage%"
CPU GHz used - this doesn't work
# Convert CPU usage from percentage to GHz (assuming 2.6 GHz per core) $cpuUsageGHz = $cpuStats.Value * 2.6 / 100 # Find the maximum CPU usage (GHz) value $maxCpuUsageGHz = $cpuUsageGHz | Measure-Object -Maximum | Select-Object -ExpandProperty Maximum # Display the result Write-Host "Maximum CPU Usage (GHz) in the last 7 days for Cluster '$clusterName': $maxCpuUsageGHz GHz"
Current CPU
# Get real-time CPU usage statistics (percentage) for the specified cluster $cpuStats = Get-Stat -Entity (Get-Cluster -Name $clusterName) -Stat "cpu.usage.average" -Realtime # Display the result Write-Host "Current CPU Usage in percentage for Cluster '$clusterName': $($cpuStats[-1].Value)%"