- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To use the Guest property you have to have an object as returned by Get-VM,
Try like this
$VMS = Get-Content C:\temp\servers2.txt
Get-VM -Name $vms -PipelineVariable vm |
ForEach-Object -Process {
Get-VirtualPortGroup -VM $vm |
Select-Object @{n = "VMName"; e = { $vm } }, Name,
@{N = 'VlanId'; E = {
if ($_ -is [VMware.VimAutomation.ViCore.Impl.V1.Host.Networking.DistributedPortGroupImpl]) {
if ($_.ExtensionData.Config.DefaultPortConfig.Vlan -is [VMware.Vim.VmwareDistributedVirtualSwitchPvlanSpec]) {
$_.ExtensionData.Config.DefaultPortConfig.Vlan.PvlanId
} elseif ($_.ExtensionData.Config.DefaultPortConfig.Vlan -is [VMware.Vim.VmwareDistributedVirtualSwitchVlanSpec]) {
if ($_.ExtensionData.Config.DefaultPortConfig.Vlan.VlanId -is [VMware.Vim.NumericRange[]]) {
[string]::Join(',', ($_.ExtensionData.Config.DefaultPortConfig.Vlan.VlanId | ForEach-Object { "$($_.Start)-$($_.End)" }))
} else {
$_.ExtensionData.Config.DefaultPortConfig.Vlan.VlanId
}
}
} else { $_.VlanId } }
},
@{N = 'MAC'; E = { $vm.Guest.Nics.Macaddress -join '|' } }
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference