Ipconfig mit der PowerShell

Im letzten Blogeintrag haben wir uns angesehen, man den netstat Befehl aus der CMD Shell mit der PowerShell ablösen kann.

In diesem Blogeintrag schauen wir uns an, wie man den ipconfig Befehl aus der CMD Shell mit der PowerShell ablösen kann.

Der Befehl ipconfig zeigt die Netzwerkkonfiguration aller Netzwerkinterfaces an. Dies können LAN, WLAN oder auch virtuelle Adapter sein.

In der CMD Shell sieht das folgendermaßen aus. Ipconfig ohne Parameter gibt die IP-Adressen (v4 und v6), die Subnetzmaske und das Standardgateway aus.

Mit dem Befehl ipconfig /all sehe ich alle Details, wie z.B. den DNS Server, den DHCP-Server, DHCP-Leasedauer, die MAC-Adresse und weiteres.

 

In der PowerShell gibt es 3 Befehle, mit denen ich Informationen über die Netzwerkkonfiguration aller Netzwerkinterfaces bekommen kann.

Mit Get-NetAdapter erhalte ich eine Liste aller physikalischen und virtuellen Netzwerkadapter. In den Attribut-Details stehen sehr viele Informationen wie z.B. Linkspeed, Treiber, MTU, NDIS Version etc.

Get-NetAdapter | FT InterfaceDescription,MacAddress,LinkSpeed,MTUSize,DriverFileName,NdisVersion,Status

Mit dem Befehl Get-NetIPConfiguration habe ich eine andere Sicht auf die Netzwerkinterfaces. Hier sehe ich die IP-Adressen und die DNS Server.

Get-NetIPConfiguration

Der dritte Befehl heißt Get-NetIPAddress und listet alle aktiven und alten IP Konfigurationen aus der Registry auf. Dadurch wird das ganze unübersichtlich.

Get-NetIPAddress | ft InterfaceAlias, IPAddress

Ein (Get-NetIPAddress).count ergibt bei mir die Zahl von 15 Interfaces

Folgende Interfaces und IPs werden gefunden

Power-TIP: Alle 3 Befehle liefern eher unbefriedigende Ergebnisse. Da bastelt man sich leichter selber etwas passendes über die WMI-Schnittstelle.

Get-WmiObject Win32_NetworkAdapterConfiguration | where {$_.IPEnabled -eq $true} | FL Description, MACAddress,`
 IPAddress,IPSubnet,DefaultIPGateway,DNSServerSearchOrder

Im nächsten Blogeintrag beschäftigen wir uns damit, wie man anstatt mit dem CMD Befehl route mit der PowerShell Netzwerk Routen ausliest und setzt.

5 Kommentare

  • Antworten Michael |

    Danke für die Tips!
    Ich kann noch folgenden Befehl „empfehlen“:
    >>Get-NetIPConfiguration -Detailed -All <<

    Gibt es eine möglichkeit die DUID und IAID (für den DHCPv6 Server) abzufragen? Mit "ipconfig /all" wird diese mit angezeigt, über Powershell habe ich bisher nur die Möglichkeit gefunden die DUID über die Registry auszulesen. Kennen Sie einen eleganteren Weg?

    • Antworten Boris Birneder |

      Danke zurück für den neuen Tip.
      Wg. DUID und IAID:
      Mir ist auch kein anderer Weg als die Registry bekannt. Auch in den WMI Klassen gibt da nichts.
      Oder man zerlegt das ipconfig /all Ergebnis mit der PowerShell.

  • Antworten User007 |

    Hi…
    Ihre Tippgabe in Ehren, aber jetzt mal ehrlich:
    Warum soll man so viel Aufwand mit der PS betreiben, um ein Ergebnis, das mit einem (kurzen) simplen Befehl in der Kommandozeile mit allen relevanten Informationen erhältlich ist, zu bekommen?
    Sorry, das zeigt wohl eher, wie schlecht die Usability der PS für „kleine“ Befehle umgesetzt ist – für komplexere Prozesse ist sie mittlerweile sicherlich besser als die Kommandozeile geeignet.

    • Antworten Boris Birneder |

      Hallo,
      das ist absolut richtig. Für eine schnelle Abfrage nutze ich auch weiterhin ipconfig, telnet, ping und netstat. Wenn man aber einen schönen Automatismus z.B. für eine Auswertung bauen will, kann man das besser mit der PowerShell umsetzen. Grüße

Was denken Sie?