Menu Close

PowerShell – NIC-Konfiguration auslesen

Bei einer Fehleranalyse musste ich die aktuelle Konfiguration einer Netzwerkkarte unter Windows direkt per Kommandozeile auslesen. Gerade bei Netzwerkproblemen liefert die CLI oft deutlich detailliertere Informationen als die grafische Oberfläche – und eignet sich außerdem perfekt für Remote-Analysen, Dokumentationen oder schnelle Vergleiche von Systemzuständen.

Gerade bei Remote-Analysen oder komplexeren Netzwerkproblemen ist die PowerShell oft deutlich praktischer als die grafische Oberfläche. In diesem Beitrag zeige ich, wie sich Get-NetAdapter sinnvoll einsetzen lässt und welche Informationen bei der Fehlersuche besonders hilfreich sind.

Abfrage der Netzwerkadapter

Zunächst beziehen wir die Interface-Informationen der vorhandenen Netzwerkadapter. Besonders interessant ist dabei der Interface-Index, da dieser von vielen weiteren PowerShell-Netzwerkbefehlen zur eindeutigen Identifikation des Adapters verwendet wird. In dem konkreten Fall haben wir jedoch mit dem Interface-Namen gearbeitet.

PS C:\Windows\System32> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
WLAN                      Intel(R) Wi-Fi 6 AX203                       11 Up           XX-XX-XX-A5-A8-XX       1.2 Gbps
Bluetooth-Netzwerkverb... Bluetooth Device (Personal Area Netw...      10 Disconnected XX-XX-XX-XX-XX-XX         3 Mbps
Ethernet                  Realtek PCIe GbE Family Controller            3 Disconnected XX-XX-XX-XX-XX-X          0 bps

Abfrage-Skript mit Variable

Das Interface, welches wir uns genauer anschauen möchten, trägt in diesem Beispiel den Namen WLAN. Daher setzen wir den entsprechenden Interface-Namen in der PowerShell-Variable ein und führen anschließend die folgenden Befehle aus. Damit lassen sich unter anderem Adapterstatus, IP-Konfiguration, DNS-Server, erweiterte Adaptereigenschaften sowie aktive Netzwerkbindungen auslesen.

$if = "WLAN"

Get-NetAdapter -Name $if
Get-NetIPConfiguration -InterfaceAlias $if
Get-NetIPAddress -InterfaceAlias $if
Get-NetAdapterAdvancedProperty -Name $if
Get-DnsClientServerAddress -InterfaceAlias $if
Get-NetAdapterBinding -Name $if
Get-NetConnectionProfile -InterfaceAlias $if
Get-NetAdapterStatistics -Name $if
Get-NetIPInterface -InterfaceAlias $if
Get-NetRoute -InterfaceAlias $if
Get-NetNeighbor -InterfaceAlias $if

Remove-Variable if

Durch die Verwendung einer gemeinsamen Interface-Variable lassen sich die Befehle außerdem einfach wiederverwenden und flexibel auf andere Netzwerkadapter anwenden.

Beschreibung der Cmdlets

Die folgende Tabelle beschreibt nochmals, welche Informationen die jeweiligen Befehle liefern. Dabei überschneiden sich einige Ausgaben bewusst, da bestimmte Informationen von mehreren Cmdlets bereitgestellt werden oder unterschiedlich detailliert dargestellt sind.

BefehlBeschreibung
Get-NetIPConfigurationZeigt die vollständige IP-Konfiguration des Interfaces an, inklusive IPv4-/IPv6-Adresse, Standardgateway und DNS-Server.
Get-NetAdapterLiefert allgemeine Informationen zum Netzwerkadapter, beispielsweise Name, Status, MAC-Adresse, Link-Geschwindigkeit und Interface-Index.
Get-NetAdapterAdvancedProperty
Zeigt erweiterte Eigenschaften des Netzwerkadapters an, beispielsweise VLAN-Konfigurationen, Offloading-Optionen oder Energieeinstellungen.
Get-NetIPAddressListet ausschließlich die konfigurierten IP-Adressen des Interfaces auf. Hilfreich zur schnellen Prüfung von IPv4-/IPv6-Konfigurationen.
Get-DnsClientServerAddressLiefert die konfigurierten DNS-Server des Interfaces für IPv4 und IPv6.
Get-NetAdapterBindingZeigt, welche Netzwerkprotokolle und Dienste an den Adapter gebunden sind, beispielsweise IPv4, IPv6 oder LLDP.
Get-NetConnectionProfileZeigt das aktuelle Netzwerkprofil des Interfaces an, beispielsweise Öffentlich, Privat oder Domäne.
Get-NetAdapterStatisticsLiefert Statistiken zum Netzwerkadapter, etwa gesendete/empfangene Pakete, Fehler oder verworfene Frames.
Get-NetIPInterfaceZeigt Interface-spezifische IP-Einstellungen wie MTU, Interface-Metrik oder DHCP-Status an.
Get-NetRouteListet die Routing-Einträge des Interfaces auf und zeigt, über welche Gateways Ziele erreicht werden.
Get-NetNeighborZeigt den Neighbor-/ARP-Cache des Interfaces an, also bekannte IP-zu-MAC-Adresszuordnungen im lokalen Netzwerk.

Viele der gezeigten Befehle liefern bereits ohne zusätzliche Tools wertvolle Informationen für die Fehlersuche und ermöglichen eine schnelle erste Einschätzung der Netzwerksituation.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index