Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2013
1,734
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $IPAddresses = Get-Content 'c:\test\servers.txt'
  2.  
  3. $myCol = @()
  4. ForEach($servername in $IPAddresses){
  5.  
  6. $NicConfig = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $serverName
  7.  
  8. ForEach ($Nic in $NicConfig)
  9. {
  10.     If ($Nic.IPAddress -ne $null)
  11.     {
  12.         $myObj = "" | Select-Object Description, DHCPEnabled, IPAddress, IPSubnet, DefaultIPGateway, DNSServers, WINSServers, NICModel, SpeedDuplex
  13.         $myObj.Description = $Nic.Description
  14.         $myObj.DHCPEnabled = $Nic.DHCPEnabled
  15.         $myObj.IPAddress = $Nic.IPAddress
  16.         $myObj.IPSubnet = $Nic.IPSubnet
  17.         $myObj.DefaultIPGateway = $Nic.DefaultIPGateway
  18.         $myObj.DNSServers = $Nic.DNSServerSearchOrder
  19.         $myObj.WINSServers = $Nic.WINSPrimaryServer,$Nic.WINSSecondaryServer
  20.         $registry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $serverName)
  21.         $baseKey = $registry.OpenSubKey("SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}")
  22.         $subKeyNames = $baseKey.GetSubKeyNames()
  23.         ForEach ($subKeyName in $subKeyNames)
  24.         {
  25.             $subKey = $baseKey.OpenSubKey("$subKeyName")
  26.             $ID = $subKey.GetValue("NetCfgInstanceId")
  27.             If ($ID -eq $Nic.SettingId)
  28.             {
  29.                 $componentID = $subKey.GetValue("ComponentID")
  30.                 If ($componentID -match "ven_14e4")
  31.                 {
  32.                     $myObj.NICModel = "Broadcom"
  33.                     $requestedMediaType = $subKey.GetValue("RequestedMediaType")
  34.                     $enum = $subKey.OpenSubKey("Ndi\Params\RequestedMediaType\Enum")
  35.                     $myObj.SpeedDuplex = $enum.GetValue("$requestedMediaType")
  36.                 }
  37.                 ElseIf ($componentID -match "ven_8086")
  38.                 {
  39.                     $myObj.NICModel = "Intel"
  40.                     $SD = $subKey.GetValue("SpeedDuplex")
  41.                     $enum = $subKey.OpenSubKey("Ndi\Params\SpeedDuplex\Enum")
  42.                     $myObj.SpeedDuplex = $enum.GetValue("$SD")
  43.                 }
  44.                 ElseIf ($componentID -match "b06bdrv")
  45.                 {
  46.                     $myObj.NICModel = "HP"
  47.                     $SD = $subKey.GetValue("req_medium")
  48.                     $enum = $subKey.OpenSubKey("Ndi\Params\req_medium\Enum")
  49.                     $myObj.SpeedDuplex = $enum.GetValue("$SD")
  50.                 }
  51.                 Else
  52.                 {
  53.                     $myObj.NICModel = "unknown"
  54.                     $myObj.SpeedDuplex = "unknown"
  55.                 }
  56.             }
  57.         }
  58.         $myCol += $myObj
  59.     }
  60. }
  61. }
  62.  
  63. $myCol | Out-file 'C:\test\Outfile.txt'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement