Number of VM’s per Host
#Command
Get-VMHost | Select @{N=“Cluster“;E={Get-Cluster -VMHost $_}}, Name, @{N=“Number of VMs“;E={($_ | Get-VM).Count}} | Sort Cluster, Name
#Output Example
Cluster Name Number of VMs
------- ---- -------------
esxi6-nuc1.vcallaway.com 8
Cluster 2 esxi-01.vcallaway.com 1
Cluster 2 esxi-02.vcallaway.com 0
Cluster 2 esxi-03.vcallaway.com 2
If you want to pipe out the result to a file simply add:
| Export-CSV -NoTypeInformation C:\path_to_output_directory
Number of VM’s per Datastore
#Command
Get-Datastore | Select Name, @{N="Num of VMs";E={@($_ | Get-VM).Count}} | Sort Name
#Output Example
Name Num of VMs
---- -----
datastore1 0
datastore1 (1) 0
datastore1 (2) 0
iSCSI_Cluster_LUN1 1
iSCSI_Cluster_LUN2 0
iSCSI_Cluster_LUN3 1
iSCSI_Datastore_1 0
NFS_Datastore_1 0
NUC1 Local Datastore 8
vsanDatastore 1
Check Host’s NTP Server Settings and is the Service Running?
#Command
Get-VMHost |Sort Name|Select Name, @{N=“NTPServer“;E={$_ |Get-VMHostNtpServer}}, @{N=“Service is Running?“;E={(Get-VmHostService -VMHost $_ |Where-Object {$_.key-eq “ntpd“}).Running}}
#Output Example
Name NTPServer Service is Running?
---- --------- --------------
esxi-01.vcallaway.com {time.vmware.com, time.windows.com} True
esxi-02.vcallaway.com {time.vmware.com, time.microsoft.com} True
esxi-03.vcallaway.com {time.microsoft.com, time.vmware.com} True
esxi6-nuc1.vcallaway.com {time.vmware.com, time.windows.com} True

