Network Information with IP Adddress

This topic contains 4 replies, has 3 voices, and was last updated by  Helder Guzman 2 years, 8 months ago.

  • Author
  • #30093

    Helder Guzman

    Hi I need your help

    Creating a report where I need the information of each network adapter that is enabled and within this network the IP information of that adapter.

    here what I have so far

    $ComputerName = ""
    $cred = Get-Credential -Message "User Info for Domain Server is in" -UserName "wf\u413628-a"

    $data = Get-WmiObject -Computer $ComputerName Win32_Networkadapter -Credential $cred -Filter "NetEnabled=True"
    $data | select *

    $adapter = 0

    foreach($network in $data){

    $adapter += 1

    $obj = New-Object -TypeName psobject

    $props = [ordered]@{ Adapter = $adapter
    Manufacturer = $network.Manufacturer
    AdapterDescription = $network.Description
    Connection = $network.NetConnectionID
    'Speed GB' = $network.Speed/1000/1000/1000 }

    $obj = New-Object -TypeName psobject -Property $props

    $ipdata = Get-WmiObject win32_networkadapterconfiguration -ComputerName $ComputerName -Credential $cred -Filter "IPEnabled=True"

    foreach ($IPinfo in $ipdata){
    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'IPAddress' -Value $IPinfo.IPAddress
    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'Submask' -Value $IPinfo.IPSubnet
    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'Gateway' -Value $IPinfo.DefaultIPGateway
    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'DNSServers' -Value $IPinfo.DnsServerSearchOrder
    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'WinServers' -Value $IPinfo.WinsPrimaryServer
    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'DaomainSuffixes' -Value $IPinfo.DNSDomainSuffixSearchOrder



    Write-Output $obj


    $obj |ConvertTo-Html -as list |out-file C:\Scripts\nic.html

    ii "C:\Scripts\nic.html"

    As you can see, I started with for each adapter pull information and add it to a new object. then Pull the IP information for that adapter.

    here is the output

    TypeName: System.Management.Automation.PSCustomObject

    Name MemberType Definition
    —- ———- ———-
    Equals Method bool Equals(System.Object obj)
    GetHashCode Method int GetHashCode()
    GetType Method type GetType()
    ToString Method string ToString()
    Adapter NoteProperty System.Int32 Adapter=1
    AdapterDescription NoteProperty System.String AdapterDescription=vmxnet3 Ethernet Adapter
    Connection NoteProperty System.String Connection=Local Area Connection 6
    DaomainSuffixes NoteProperty System.String[] DaomainSuffixes=System.String[]
    DNSServers NoteProperty System.String[] DNSServers=System.String[]
    Gateway NoteProperty System.String[] Gateway=System.String[]
    IPAddress NoteProperty System.String[] IPAddress=System.String[]
    Manufacturer NoteProperty System.String Manufacturer=VMware, Inc.
    Speed GB NoteProperty System.UInt64 Speed GB=10
    Submask NoteProperty System.String[] Submask=System.String[]
    WinServers NoteProperty System.String WinServers=

    Adapter : 1
    Manufacturer : VMware, Inc.
    AdapterDescription : vmxnet3 Ethernet Adapter
    Connection : Local Area Connection 6
    Speed GB : 10
    IPAddress : {}
    Submask : {}
    Gateway : {,}
    DNSServers : {,}
    WinServers :
    DaomainSuffixes : {wf.local, wfroot.local,}

    But I need to expand the properties of the ip setting.

    can anyone help


  • #30096

    Curtis Smith

    Can you explain more about what you mean about expanding the properties of the IP settings? Looking at what you have put as your output I see what I would think is the properties of the IP settings like the IP address and Gateway, etc. Need a little more understanding of what you are trying to accomplish.

  • #30100

    Helder Guzman

    Yes, I need to expand the properties of the IP Setting.

    specially, for extra ip address for Dns, Wins.

    How can I expand all the setting at one time. Instead of expanding 1 by 1.


    | select -expandproperty DNSServers, Wins, DNSSearchorder

    how do i used the add-member in this situation.

  • #30101

    Max Kozlov

    this way for example

    Add-Member -InputObject $obj -MemberType NoteProperty -Name 'IPAddress' -Value ($IPinfo.IPAddress -join ',')

  • #30199

    Helder Guzman

    Thanks Max That work Like a charm

You must be logged in to reply to this topic.