Following an inspiring blog post from Duncan Epping located here it made me think about how I could find the CPU vs HAL information, a 5 minute mess around in the VI Toolkit produced the following script:
Connect-viserver MYVISERVER
$myCol = @()
ForEach ($VM in (Get-VM)){
$MyDetails = “” | select-Object Name, HAL, NumvCPU
$MYDetails.Name = $VM.Name
$Hal = Get-WmiObject -ComputerName
$VM.Name -Query “SELECT * FROM Win32_PnPEntity where ClassGuid = ‘{4D36E966-E325-11CE-BFC1-08002BE10318}'” | Select Name
$MYDetails.HAL = $Hal.Name
$MYDetails.NumvCPU = $VM.NumCPU
$myCol += $MYDetails}
$myCol
This will give you a list of your VM’s the HAL installed and the number of vCPU’s
Thanks Hal (ha ha Hal commenting on a script about Hals), you obviously need access to the machine too
Note that this only works if the VM name is perfectly resolvable via DNS/WINS to the destination computername.
Nice Script Allan!