Aug 3 2011 2:36AM GMT
Posted by: Richard Siddaway
PowerShell v2
Network speeds–the faster ones
Posted by: Richard Siddaway
Quick update to
http://itknowledgeexchange.techtarget.com/powershell/network-adapter-speed-and-duplex/
I’ve found a full listing of network speeds for *SpeedDuplex at http://msdn.microsoft.com/en-us/library/ff548866(v=VS.85).aspx
and amended the script
function test-duplex { [CmdletBinding()] param ( [string]$computer="." ) BEGIN { $HKLM = 2147483650 $reg = [wmiclass]"\\$computer\root\default:StdRegprov" $keyroot = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}" } PROCESS { Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $computer -Filter "IPEnabled='$true'" | foreach { $data = $_.Caption -split "]" $suffix = $data[0].Substring(($data[0].length-4),4) $key = $keyroot + "\$suffix" $value = "*PhysicalMediaType" $pmt = $reg.GetDwordValue($HKLM, $key, $value) ## REG_DWORD ## 0=Unspecified, 9=Wireless, 14=Ethernet if ($pmt.uValue -eq 14){ $nic = $_.GetRelated("Win32_NetworkAdapter") | select Speed, NetConnectionId $value = "*SpeedDuplex" $dup = $reg.GetStringValue($HKLM, $key, $value) ## REG_SZ switch ($dup.sValue) { "0" {$duplex = "Auto Detect"} "1" {$duplex = "10Mbps \ Half Duplex"} "2" {$duplex = "10Mbps \ Full Duplex"} "3" {$duplex = "100Mbps \ Half Duplex"} "4" {$duplex = "100Mbps \ Full Duplex"} "5" {$duplex = "1.0Gbps \ Half Duplex"} "6" {$duplex = "1.0Gbps \ Full Duplex"} "7" {$duplex = "10Gbps \ Full Duplex"} } New-Object -TypeName PSObject -Property @{ NetworkConnector = $($nic.NetConnectionID ) DuplexSetting = $duplex Speed = $($nic.Speed) } } #if } #foreach } #process } #function
Once you reach 10Gbps there isn’t a half duplex option




