VMware Cloud Community
lElOUCHE_79
Enthusiast
Enthusiast
Jump to solution

Get-Network-Adapter + O details

Hello,

I'm trying to get Network-Adapter status with OS details with the below script.

everything is collected except the OS Full Name and OS family not sure where's the issue

 

Get-VM |
Sort-Object -Property Name -PipelineVariable vm |
ForEach-Object -Process {
  Get-NetworkAdapter -VM $vm |
  Where-Object { $_.ConnectionState.StartConnected -ne $true} |
  Select-Object @{N = "VM Name"; E = {$vm.Name }},
    @{N = "Power State"; E = { $vm.PowerState } },
    @{N = "Interface"; E = {$_.Name }},
    @{N = 'ConnectionState'; E={if($_.ConnectionState.Connected){'Connected'}else{'NotConnected'}}},
    @{N = "Type"; E = {$_.Type }},
    @{N = "Connect on Boot"; E = {$_.ConnectionState.StartConnected}},
    @{N = "OS Full Name"; E = {$_.ExtensionData.Guest.guestFullName}},
    @{N= "OS Family"; E = {{$_.ExtensionData.Guest.guestFamily}}
}
} | Export-Csv -Path .\NetAdapterStartUp.csv -NoTypeInformation -UseCulture

 

 

Reply
0 Kudos
2 Solutions

Accepted Solutions
wetnose88
Enthusiast
Enthusiast
Jump to solution

Get-VM |
Sort-Object -Property Name -PipelineVariable vm |
ForEach-Object -Process {
  Get-NetworkAdapter -VM $vm |
  Where-Object { $_.ConnectionState.StartConnected -eq $true} |
  Select-Object @{N = "VM Name"; E = {$vm.Name }},
    @{N = "Power State"; E = { $vm.PowerState } },
    @{N = "Interface"; E = {$_.Name }},
    @{N = 'ConnectionState'; E={if($_.ConnectionState.Connected){'Connected'}else{'NotConnected'}}},
    @{N = "Type"; E = {$_.Type }},
    @{N = "Connect on Boot"; E = {$_.ConnectionState.StartConnected}},
    #@{N = "OS Full Name"; E = {$_.ExtensionData.Guest.guestFullName}},
    @{N="Operating System"; E={@($vm.guest.OSFullName)}},
    #@{N= "OS Family"; E = {{$_.ExtensionData.Guest.guestFamily}}
    @{N="OS Family"; E={@($vm.guest.guestFamily)}}
}| Export-CSV $outputFile -NoTypeInformation -Append

View solution in original post

Reply
0 Kudos
wetnose88
Enthusiast
Enthusiast
Jump to solution

I tested the script in my environment, following are the exported result, I have thousands of VMs, just part of the result.

VM NamePower StateInterfaceConnectionStateTypeConnect on BootOperating SystemOS Family
VM001PoweredOnNetwork adapter 1Connectede1000TRUERed Hat Enterprise Linux 5 (64-bit)linuxGuest
VM002PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 7 (64-bit)linuxGuest
VM003PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 6 (64-bit)linuxGuest
VM004PoweredOnNetwork adapter 1ConnectedVmxnet3TRUECentOS 7 (64-bit)linuxGuest
VM005PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM006PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 7 (64-bit)linuxGuest
VM007PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM008PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM009PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM010PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 8 (64-bit)linuxGuest
VM011PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM012PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM013PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM014PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM015PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest

View solution in original post

Reply
0 Kudos
5 Replies
wetnose88
Enthusiast
Enthusiast
Jump to solution

Get-VM |
Sort-Object -Property Name -PipelineVariable vm |
ForEach-Object -Process {
  Get-NetworkAdapter -VM $vm |
  Where-Object { $_.ConnectionState.StartConnected -eq $true} |
  Select-Object @{N = "VM Name"; E = {$vm.Name }},
    @{N = "Power State"; E = { $vm.PowerState } },
    @{N = "Interface"; E = {$_.Name }},
    @{N = 'ConnectionState'; E={if($_.ConnectionState.Connected){'Connected'}else{'NotConnected'}}},
    @{N = "Type"; E = {$_.Type }},
    @{N = "Connect on Boot"; E = {$_.ConnectionState.StartConnected}},
    #@{N = "OS Full Name"; E = {$_.ExtensionData.Guest.guestFullName}},
    @{N="Operating System"; E={@($vm.guest.OSFullName)}},
    #@{N= "OS Family"; E = {{$_.ExtensionData.Guest.guestFamily}}
    @{N="OS Family"; E={@($vm.guest.guestFamily)}}
}| Export-CSV $outputFile -NoTypeInformation -Append
Reply
0 Kudos
lElOUCHE_79
Enthusiast
Enthusiast
Jump to solution

thank you for your assistance, unfortunately the details aren't retrieved :disappointed_face:

Reply
0 Kudos
wetnose88
Enthusiast
Enthusiast
Jump to solution

I tested the script in my environment, following are the exported result, I have thousands of VMs, just part of the result.

VM NamePower StateInterfaceConnectionStateTypeConnect on BootOperating SystemOS Family
VM001PoweredOnNetwork adapter 1Connectede1000TRUERed Hat Enterprise Linux 5 (64-bit)linuxGuest
VM002PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 7 (64-bit)linuxGuest
VM003PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 6 (64-bit)linuxGuest
VM004PoweredOnNetwork adapter 1ConnectedVmxnet3TRUECentOS 7 (64-bit)linuxGuest
VM005PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM006PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 7 (64-bit)linuxGuest
VM007PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM008PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM009PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM010PoweredOnNetwork adapter 1ConnectedVmxnet3TRUERed Hat Enterprise Linux 8 (64-bit)linuxGuest
VM011PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM012PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
VM013PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM014PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2016 or later (64-bit)windowsGuest
VM015PoweredOnNetwork adapter 1ConnectedVmxnet3TRUEMicrosoft Windows Server 2012 (64-bit)windowsGuest
Reply
0 Kudos
lElOUCHE_79
Enthusiast
Enthusiast
Jump to solution

Tank you for your help it's working :slightly_smiling_face:

Reply
0 Kudos
wetnose88
Enthusiast
Enthusiast
Jump to solution

Good to know it is working for you as well!:grinning_face:

Reply
0 Kudos