Highlighted
Contributor
Contributor

Re: Export Compliance Reports

Hi LucD. The script about was what you originally helped me with. I will like to add a line to show the LUN ID's for each storage LUN on each hosts and also add a line for WWN names of the hosts as well. Below is the script.

Thanks.

$VmInfo = 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="VM CPU#";E={$vm.ExtensionData.Config.Hardware.NumCPU/$vm.ExtensionData.Config.Hardware.NumCoresPerSocket}},
       
@{N="VM CPU Core#";E={$vm.NumCPU}},
       
@{N="Datacenter";E={$Datacenter.name}},
       
@{N="Cluster";E={$Cluster.Name}},
       
@{N="Host";E={$vm.VMHost.Name}},
       
@{N="Host CPU#";E={$vm.VMHost.ExtensionData.Summary.Hardware.NumCpuPkgs}},
       
@{N="Host CPU Core#";E={$vm.VMHost.ExtensionData.Summary.Hardware.NumCpuCores/$vm.VMHost.ExtensionData.Summary.Hardware.NumCpuPkgs}},
       
@{N="Hard Disk";E={$HardDisk.Name}},
       
@{N="Datastore";E={$HardDisk.FileName.Split("]")[0].TrimStart("[")}},
       
@{N="VMConfigFile";E={$VM.ExtensionData.Config.Files.VmPathName}},
       
@{N="VMDKpath";E={$HardDisk.FileName}},
       
@{N="VMDK Size";E={($vm.extensiondata.layoutex.file|?{$_.name -contains $harddisk.filename.replace(".","-flat.")}).size/1GB}},
       
@{N="Drive Size";E={$HardDisk.CapacityGB}}
      }
    }
  }
}
$VmInfo | Export-Csv -NoTypeInformation -UseCulture -Path "c:\scripts\reports\report.csv"
0 Kudos
1 Reply
Highlighted
User Moderator
User Moderator

I answered to that one in 7.  Re: Get Complete Inventory PowerCLI

Did you try it ?


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos