From time to time we want to make sure our VMs are up to spec. So this report might help you.
Basically it will output a report CSV with name report_CPU_Socket.csv.
Obviously this can be changed by updating the last line in the script which is the responsible for redirecting the output to a file.
1 2 3 4 5 6 7 8 9 10 11 12 | $array = @() $vms = Get-view -ViewType VirtualMachine foreach ( $vm in $vms ) { $obj = new-object psobject $obj | Add-Member -MemberType NoteProperty -Name name -Value $vm .Name $obj | Add-Member -MemberType NoteProperty -Name TotalCores -Value $vm .config.hardware.NumCPU $obj | Add-Member -MemberType NoteProperty -Name TotalSockets -Value ( $vm .config.hardware.NumCPU/ $vm .config.hardware.NumCoresPerSocket) $obj | Add-Member -MemberType NoteProperty -Name CoresPersocket -Value $vm .config.hardware.NumCoresPerSocket $array += $obj } $array |Export -Csv .\report_CPU_Socket.csv -NoTypeInformation |
This is great but how about if you have thousands of VMs and are only interested in a few set?
Well then you can filter them. By adjusting line 2 on the script;
$vms = Get-view -ViewType VirtualMachine |where {$_.name -like 'MS*'}
The above code will get all VMs that start with MS. So full code would look like this:
1 2 3 4 5 6 7 8 9 10 11 12 | $array = @() $vms = Get-view -ViewType VirtualMachine |where { $_ .name -like 'MS*' } foreach ( $vm in $vms ) { $obj = new-object psobject $obj | Add-Member -MemberType NoteProperty -Name name -Value $vm .Name $obj | Add-Member -MemberType NoteProperty -Name TotalCores -Value $vm .config.hardware.NumCPU $obj | Add-Member -MemberType NoteProperty -Name TotalSockets -Value ( $vm .config.hardware.NumCPU/ $vm .config.hardware.NumCoresPerSocket) $obj | Add-Member -MemberType NoteProperty -Name CoresPersocket -Value $vm .config.hardware.NumCoresPerSocket $array += $obj } $array |Export -Csv .\report_CPU_Socket.csv -NoTypeInformation |
You can use several filters within a single query just use -AND and -OR to customize the query to your needs
More on Powershell operators here