VMware Cloud Community
IKirill
Enthusiast
Enthusiast
Jump to solution

Get naa datastore for VM

Hi for all!

I have litte script for inventory my vms

Get-VM | select @{N="VM Name";E={$_.Name}},

@{N="Cluster";E={$_.ResourcePool.Parent.Name} },

@{N="Power State";E={$_.PowerState}},

@{N="ESX Host";E={Get-VMHost -VM $_}},

@{n="HardDiskSizeGB"; e={(Get-HardDisk -VM $_ | Measure-Object -Sum CapacityGB).Sum}},

@{N="DatastoreName";E={[string]::Join(',',(Get-Datastore -Id $_.DatastoreIdList | Select -ExpandProperty Name))}},

@{N="OS Type";E={$_.Guest.OSFullName}} |

Export-Csv -Path "C:\inv\VM-RCOD.csv" -NoTypeInformation -UseCulture

I want to see naa of datastore on wich vm placed. Can you help me?

THanks!

0 Kudos
1 Solution

Accepted Solutions
LucD
Leadership
Leadership
Jump to solution

Try like this

Get-VM | select @{N="VM Name";E={$_.Name}},

@{N="Cluster";E={$_.ResourcePool.Parent.Name} },

@{N="Power State";E={$_.PowerState}},

@{N="ESX Host";E={Get-VMHost -VM $_}},

@{n="HardDiskSizeGB"; e={(Get-HardDisk -VM $_ | Measure-Object -Sum CapacityGB).Sum}},

@{N="DatastoreName";E={[string]::Join(',',(Get-Datastore -Id $_.DatastoreIdList | Select -ExpandProperty Name))}},

@{N='DSNAAA';E={

    $vmx = ($_.ExtensionData.LayoutEx.File | where{$_.Name -match ".vmx$"}).Name

    $dsName = $vmx.Split(' ')[0].Trim('[]')

    (Get-Datastore -Name $dsName).ExtensionData.Info.Vmfs.Extent[0].DiskName

}},

@{N="OS Type";E={$_.Guest.OSFullName}} |

Export-Csv -Path "C:\inv\VM-RCOD.csv" -NoTypeInformation -UseCulture


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

View solution in original post

0 Kudos
2 Replies
LucD
Leadership
Leadership
Jump to solution

Try like this

Get-VM | select @{N="VM Name";E={$_.Name}},

@{N="Cluster";E={$_.ResourcePool.Parent.Name} },

@{N="Power State";E={$_.PowerState}},

@{N="ESX Host";E={Get-VMHost -VM $_}},

@{n="HardDiskSizeGB"; e={(Get-HardDisk -VM $_ | Measure-Object -Sum CapacityGB).Sum}},

@{N="DatastoreName";E={[string]::Join(',',(Get-Datastore -Id $_.DatastoreIdList | Select -ExpandProperty Name))}},

@{N='DSNAAA';E={

    $vmx = ($_.ExtensionData.LayoutEx.File | where{$_.Name -match ".vmx$"}).Name

    $dsName = $vmx.Split(' ')[0].Trim('[]')

    (Get-Datastore -Name $dsName).ExtensionData.Info.Vmfs.Extent[0].DiskName

}},

@{N="OS Type";E={$_.Guest.OSFullName}} |

Export-Csv -Path "C:\inv\VM-RCOD.csv" -NoTypeInformation -UseCulture


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

0 Kudos
IKirill
Enthusiast
Enthusiast
Jump to solution

thanks working!

0 Kudos