Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # requires PowerCLI
- # requires Get-Module -Name VMware* -ListAvailable | Import-Module
- # requires Connect-VIServer "vcenter1", "vcenter2" , "etc"
- # Known issues:
- # MAC info is not avaialble
- # Long time to run
- &{foreach($vm in (get-VM)) {
- $vm.ExtensionData.Guest.Net | select -Property @{N='VM';E={$vm.Name}},
- @{N='Host';E={$vm.VMHost.Name}},
- @{N='OS';E={$vm.Guest.OSFullName}},
- @{N='Tools';E={$vm.ExtensionData.Guest.ToolsRunningStatus}},
- @{N='NicType';E={[string]::Join(',',(Get-NetworkAdapter -Vm $vm | Select-Object -ExpandProperty Type))}},
- @{N='VLAN';E={[string]::Join(',',(Get-NetworkAdapter -Vm $vm | Select-Object -ExpandProperty NetworkName))}},
- @{N='IP';E={[string]::Join(',',($vm.Guest.IPAddress | Where {($_.Split(".")).length -eq 4}))}},
- @{N='Gateway';E={[string]::Join(',',($vm.ExtensionData.Guest.IpStack.IpRouteConfig.IpRoute | %{if($_.Gateway.IpAddress){$_.Gateway.IpAddress}}))}},
- @{N='Subnet Mask';E={
- $dec = [Convert]::ToUInt32($(('1' * $_.IpConfig.IpAddress[0].PrefixLength).PadRight(32, '0')), 2)
- $DottedIP = $( For ($i = 3; $i -gt -1; $i--) {
- $Remainder = $dec % [Math]::Pow(256, $i)
- ( $dec - $Remainder) / [Math]::Pow(256, $i)
- $dec = $Remainder
- } )
- [String]::Join('.', $DottedIP)
- }},
- @{N="DNS";E={[string]::Join(',',($vm.ExtensionData.Guest.IpStack.DnsConfig.IpAddress))}},
- @{N='MAC';E={[string]::Join(',',$_.MacAddress)}}
- }
- } | ft -AutoSize | Out-String -Width 4096 | Out-File C:\temp\results.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement