- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You could get that information directly from the VirtualMachine object, no need to do a Get-HardDisk.
Something like this
foreach ($dc in Get-Datacenter) {
foreach ($cluster in Get-Cluster -Location $dc){
$vms = Get-view -ViewType VirtualMachine -SearchRoot $cluster.ExtensionData.MoRef
foreach ($vm in $vms){
$info = "" | select Datacenter, Name, ToolsStatus, NumCpu, MemoryMB, guestos, IPAddress, Datastore, DatastoreUsedGB
$info.IPAddress = ($vm.Guest.net.IPAddress | where{$_} | Sort-Object -Unique) -join '|'
$info.Datastore = (Get-View -Id $vm.Datastore -Property Name).Name -join '|'
$info.DatastoreUsedGB = [math]::Round(($vm.Storage.PerDatastoreUsage.Committed | Measure-Object -Sum).Sum/1GB,1)
$info.datacenter = $dc.name
$info.Name = $vm.name
$info.toolsstatus = $vm.guest.toolsstatus
$info.NumCpu = $vm.Summary.config.NumCpu
$info.MemoryMB = $vm.Summary.config.memorySizeMB
$info.guestos = $vm.guest.guestfullname
$report += $info
}
}
}
$report | export-csv "\Report.csv" -NoTypeInformation
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference