Reply to Message

View discussion in a popup

Replying to:
RvdNieuwendijk
Leadership
Leadership

Hi Markus,

Welcome to the VMware Communities!

The next PowerCLI script will give you a list of all your VM's and their Datacenter, Cluster, HardDisks, Datastores and VMDK file paths. If you want to have the VM's only for a certain datacenter or cluster, you can filter the output by piping it to the Where-Object cmdlet.

ForEach ($Datacenter in (Get-Datacenter | Sort-Object -Property Name)) {
  ForEach ($Cluster in ($Datacenter | Get-Cluster | Sort-Object -Property Name)) { 
    ForEach ($VM in ($Cluster | Get-VM | Sort-Object -Property Name)) {
      ForEach ($HardDisk in ($VM | Get-HardDisk | Sort-Object -Property Name)) {
        "" | 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}}
      }
    }
  }
}    

Don't hesitate to ask in this forum if you need more help.

Regards, Robert

Blog: https://rvdnieuwendijk.com/ | Twitter: @rvdnieuwendijk | Author of: https://www.packtpub.com/virtualization-and-cloud/learning-powercli-second-edition
Reply
0 Kudos