Da ich kein Windows 8 (und Get-NetAdapterAdvancedProperty
) habe, habe ich das benutzt, um Speed / Duplex zu bekommen:
Update: Das hat mich verrückt gemacht. Ich habe verschiedene Fehler mit nicht vorhandenen Schlüsseln erhalten, und es stellt sich heraus, dass bestimmte Geräte keine Duplexgeschwindigkeit haben, wie USB-Passthrough und Microsoft Cluster-Geräte. Ich habe es aktualisiert, um den Aufzählungswert von Duplex zu verwenden und alle verfügbaren NICs durchlaufen zu lassen.
Außerdem sah das Original nicht die Registrierung auf dem Ziel, sondern den localhost.
Function Get-NICSpeedDuplex { Param ( [String]$computer ) $key = "SYSTEM\\CurrentControlSet\\Control\\Class\\" gwmi -Class Win32_NetworkAdapterConfiguration -Computer $computer -Filter "IPEnabled='$true'" | % { $suffix = $([String]$_.Index).PadLeft(4,"0") #get remote registry value of speed/duplex $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $computer) $service = $reg.OpenSubKey("$key\\$suffix\\Ndi").GetValue("Service") If ($service -imatch "usb") { # This USB device will not have a '*SpeedDuplex' key New-Object PSObject -Property @{ "Device" = $_.Description "Speed/Duplex" = "USB Device" } } ElseIf ($service -imatch "netft") { # Microsoft Clustered Network will not have a '*SpeedDuplex' key New-Object PSObject -Property @{ "Device" = $_.Description "Speed/Duplex" = "Cluster Device" } } Else { $speedduplex = $reg.OpenSubKey("$key\\$suffix").GetValue("*SpeedDuplex") $enums = "$key\$suffix\Ndi\Params\*SpeedDuplex\enum" New-Object PSObject -Property @{ "Device" = $_.Description "Speed/Duplex" = $reg.OpenSubKey($enums).GetValue($speedduplex) } } } }
Dieser Registrierungsschlüssel ist etwas unleserlich hartcodiert, scheint aber auf meinem Windows 7-PC und meinen Remote-Servern zu funktionieren (2003/2008/2012). Von diesem Artikel : "Der Unterschlüssel stellt die Klasse der Netzwerkadaptergeräte dar, die das System unterstützt."
Ausgabe des Skripts:
PS C:\> Get-NICSpeedDuplex "test-server-xx" | ft -auto Speed/Duplex Device ------------ ------ Auto Negotiation vmxnet3 Ethernet Adapter Auto Negotiation vmxnet3 Ethernet Adapter #4 Cluster Device Microsoft Failover Cluster Virtual Adapter