Get-ESXvms.ps1
function Get-ESXvms { <# .SYNOPSIS List VM's on ESXI Host .DESCRIPTION List VM's Name, Datacenter, Datastore, Hard Disk and VMDKpath .EXAMPLE Get-ESXvms explains how to use the command can be multiple lines .EXAMPLE Get-ESXvms another example can have as many examples as you like #> ForEach ($Datacenter in (Get-Datacenter | Sort-Object -Property $PName)) { ForEach ($VM in ($Datacenter | Get-VM | Sort-Object -Property $PName)) { ForEach ($HardDisk in ($VM | Get-HardDisk | Sort-Object -Property $PName)) { '' | Select-Object -Property @{N='VM' E={$VM.Name}}, @{N='Datacenter' E={$Datacenter.name}}, #@{N="Cluster";E={$Cluster.Name}}, @{N='Hard Disk' E={$HardDisk.Name}}, @{N='Datastore' E={$HardDisk.FileName.Split(']')[0].TrimStart('[')}}, @{N='VMDKpath' E={$HardDisk.FileName}} } } } } |