That zip file was created by the forum SW, not sure what happened there.
In any case I'll include the script inline.
$report=foreach($vcin$global:defaultviservers){
foreach($vmin (Get-View-ViewTypeVirtualMachine-PropertyName,runtime.powerState,Guest.net,Config.Hardware.numCPU,Config.Hardware.MemoryMB,Runtime.Host,Guest.GuestFullName,
Config.GuestFullName,Parent,ResourcePool,Config.Hardware.Device,Config.version,Config.Tools.ToolsVersion,guest.toolsversionstatus,
Config.Files.VMPathName-Server$vc )){
$t=Get-View$vm.ResourcePool -PropertyName,Parent-Server$vc
while($t.getType().Name -eq"ResourcePool"){
$t=Get-View$t.Parent -PropertyName,Parent-Server$vc
}
if($t.GetType().Name -eq"ClusterComputeResource"){
$cluster=$t.Name
}
else{
$cluster="Stand Alone Host"
}
while($t.getType().Name -ne"Datacenter"){
$t=Get-View$t.Parent -PropertyName,Parent-Server$vc
}
$datacenter=$t.Name
$vm.Config.Hardware.Device |where {$_.GetType().Name -eq"VirtualDisk"} |
Select @{N="VM";E={$vm.Name}},
@{N='powerState';E={$vm.runtime.powerState}},
@{N='IP';E={[string]::Join(',',($vm.Guest.Net |%{$_.IpAddress |where{$_.Split('.').Count -eq4} |%{$_}}))}},
@{N='NumCPU';E={$vm.config.Hardware.NumCpu}},
@{N='Memory GB';E={$vm.Config.Hardware.MemoryMB|%{[math]::Round($_/1kb,2)}}},
@{N='vCenter';E={$vc.Name}},
@{N='VMHost';E={$script:esx=Get-View-Id$vm.Runtime.Host -Server$vc ; $script:esx.name}},
@{N='GuestOS';E={$vm.Guest.GuestFullName}},
@{N='ConfiguredOS';E={$vm.Config.GuestFullName}},
#@{N="Folder";E={$path}},
@{N="Cluster";E={$cluster}},
@{N="Datacenter";E={$datacenter}},
@{N="Scsi";E={$_.UnitNumber}},
@{N="Hard Disk";E={$_.DeviceInfo.Label}},
@{N="Disk datastore";E={$_.Backing.Filename.Split(']')[0].TrimStart('[')}},
@{N="Disk capacity GB";E={$_.CapacityInKB|%{[math]::Round($_/1MB,2)}}},
@{N="Disk type";E={
if($_.Backing.GetType().Name -match"flat"){
"Flat"
}
else{
$_.Backing.CompatibilityMode
}}},
@{N='DeviceName';E={
if($_.Backing.GetType().Name -match'raw'){
$_.Backing.DeviceName
}
else{
$script:lunnaa= (Get-View-Id$_.Backing.Datastore -Server$vc ).Info.Vmfs.Extent[0].DiskName
$script:lun=$script:esx.Config.StorageDevice.ScsiLun |where{$_.CanonicalName -eq$script:lunnaa}
$script:lun.Descriptor |where{$_.Id -match'vml.'} |Select-ExpandPropertyId
}}},
@{N='LUN NAA';E={
if($_.Backing.GetType().Name -match'raw'){
$lunUuid=$_.Backing.LunUuid
$script:lun=$script:esx.Config.StorageDevice.ScsiLun |where{$_.Uuid -eq$lunUuid}
$script:lun.CanonicalName
}
else{
$script:lunnaa
}}},
@{N='LUN ID';E={
$dev=$script:esx.Config.StorageDevice.PlugStoreTopology.Device |where {$_.Lun -eq$script:lun.Key}
$script:esx.Config.StorageDevice.PlugStoreTopology.Path |where {$_.Device -eq$dev.Key} |
Select-First1-ExpandPropertyLunNumber
}},
@{N='VMConfigFile';E={$VM.config.files.VMpathname}},
@{N='VMDKPath';E={$_.Backing.FileName}},
@{N="HW Version";E={$vm.Config.version}},
@{N="VMware Tools version";E={$vm.Config.Tools.ToolsVersion}}
@{N="Tools Status";E={$vm.guest.toolsversionstatus}},
@{N="NIC Name";E={($vm.config.hardware.device |where {($_.DeviceInfo.Label -like"Network*")}).DeviceInfo.Label}},
@{N="Mac"; E={($vm.Config.Hardware.Device |where{$_.DeviceInfo.Label -like"Network*"}).MacAddress}},
@{N="Portgroup"; E={
$nic=$vm.Config.Hardware.Device |where{$_.DeviceInfo.Label -like"Network*"}
[string]::Join(',',(
$nic|%{
if($_.DeviceInfo.Summary -notmatch'DVSwitch'){
$_.DeviceInfo.Summary
}
else{
Get-View-ViewTypeDistributedVirtualPortgroup-PropertyName-Filter @{'Key'=$_.Backing.Port.PortgroupKey} -Server$vc |
Select-ExpandPropertyName
}}))}}
}
}
$report|Export-Csvreport.csv-NoTypeInformation-UseCulture