- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Code becomes concise and elegant using the -pipelinevariable parameter,
$report = Get-Datacenter -pv datacenter | Get-Cluster -pv cluster | Get-VM -pv vm | Get-HardDisk -pv harddisk | ForEach-Object {
[psCustomObject] @{
VM = $vm.name
Datacenter = $datacenter.Name
Cluster = $cluster.Name
HardDisk = $harddisk.Name
Datastore = $HardDisk.FileName.Split("]")[0].TrimStart("[")
SizeGB = $harddisk.CapacityGB
DiskFormat = $harddisk.StorageFormat
DiskType = $harddisk.DiskType
VMDKpath = $harddisk.FileName
}
}
$report | Out-GridView
Cheers
Xavi