Erste Schritte mit der IP-Konfiguration von Windows PowerShell

A common SysAdmin task involves managing a PowerShell IP configuration. Typically, one performs this task using the GUI, which is OK. But PowerShell can do the same job and more, which you can put into scripting.

In diesem Tutorial lernen Sie, wie Sie einige Netzwerkverwaltungs-Cmdlets in PowerShell verwenden, um die IP-Adresse, das Gateway und die DNS-Einstellungen eines Windows-Hosts zu verwalten.

Lesen Sie weiter und verbessern Sie Ihre Netzwerkfehlerbehebungsfähigkeiten mit PowerShell-IP-Konfigurationsbefehlen!

Voraussetzungen

Dieses Tutorial umfasst praktische Demonstrationen. Sie benötigen administrative Zugriffsrechte auf PowerShell auf einem modernen Windows-Betriebssystem, um mitzumachen. Dieses Tutorial verwendet Windows Server 2022, aber die Befehle funktionieren auch auf Windows 10-Versionen und neueren Versionen.

Netzwerkadaptereigenschaften abrufen (Get-NetAdapter)

Beim Troubleshooting oder beim Sammeln der IP-Adresse eines Hosts könnten Sie herkömmliche Tools wie ping, ipconfig oder sconfig verwenden. Aber mit PowerShell-Cmdlets können Sie diesen Prozess für die Automatisierung skripten.

Öffnen Sie PowerShell und führen Sie das unten stehende Get-NetAdapter-Cmdlet aus, um die Liste der Netzwerkadapter und deren Eigenschaften abzurufen, wie z. B. den InterfaceAlias und InterfaceIndex Ihres Hosts.

Get-NetAdapter
Getting network adapters’ properties

Beachten Sie, dass Ihr Adapter noch kein IP-Adressobjekt hat. Sie müssen wissen, welchen Sie verwenden werden. Für dieses Tutorial arbeiten Sie mit dem Adapteralias Ethernet.

Abrufen einer Adresse PowerShell IP-Konfiguration (Get-NetIPAddress)

Du hast zuvor alle Netzwerkschnittstellen mit einem einzigen Befehl aufgelistet. Aber du kannst auch Eigenschaftswerte und die aktuelle IP-Adresse deines Hosts über das Get-NetIPAddress-Cmdlet anzeigen.

Führe den unten stehenden Befehl (ohne Parameter) aus, um die Adresse jedes Adapters und die PowerShell-IP-Konfiguration anzuzeigen.

Get-NetIPAddress
Getting all IP address configurations

Jetzt führe den folgenden Befehl aus, um die Ausgabe (Select-Object) auf das InterfaceAlias und IPAddress der Ethernet-Schnittstelle zu beschränken.

Get-NetIPAddress -InterfaceAlias Ethernet | Select-Object -Property InterfaceAlias,IPAddress
Finding the IP address assigned to an interface (Ethernet)

IP-Routeninformationen abrufen (Get-NetRoute)

Eine IP-Adresse ermöglicht einem Host die Kommunikation mit anderen im selben Netzwerk. Aber was passiert, wenn der Host außerhalb dieses Netzwerks kommunizieren muss?

A gateway address is necessary, and the Get-NetRoute cmdlet is what you need. This cmdlet provides information that previous cmdlets you have learned about do not.

Führe den unten stehenden Befehl Get-NetRoute aus, um das aktuelle Gateway (NextHop) für die Ethernet-Schnittstelle zu überprüfen.

Get-NetRoute -InterfaceAlias Ethernet | Where-Object -Property RouteMetric -EQ 0 | Select-Object -Property NextHop

Normalerweise liefert ein DHCP-Server die Gateway-Adresse. Du möchtest diese Adresse später für diesen Artikel erfassen.

Finding the gateway address assigned to an interface

DNS-Server-IP-Adressen abrufen (Get-DnsClientServerAddress)

DNS ist für die Namensauflösung sowohl für interne als auch für externe Netzwerke erforderlich. Ohne DNS müssten Sie sich die Internetadresse für jeden Host in Ihrem Netzwerk merken.

Aber wahrscheinlich ist Ihr Host bereits über DHCP mit DNS konfiguriert. Sie können das Cmdlet Get-DnsClientServerAddress verwenden, um die aktuelle Konfiguration zu überprüfen.

Get-DnsClientServerAddress

Notieren Sie sich die IP-Adressen, indem Sie die Ausgabe in eine Textdatei umleiten oder sie aufschreiben. Sie müssen diese DNS-Serveradressen später in diesem Tutorial erneut zuweisen.

Verifying the current DNS configuration

Abrufen von IP-Netzwerkkonfigurationen (Get-NetIPConfiguration)

Wenn Sie die Informationen der vorherigen drei gelernten Cmdlets auf einen Schlag benötigen, erledigt das Cmdlet Get-NetIPConfiguration den Trick. Eine hervorstechende Funktion dieses Cmdlets ist, dass es gezieltere Informationen liefert.

Führen Sie das folgende Cmdlet Get-NetIPConfiguration aus, um die IP-Netzwerkkonfigurationen anzuzeigen, die von den zuvor ausgeführten Cmdlets gesammelt wurden.

Get-NetIPConfiguration
Getting IP network configurations

Das Get-NetIPConfiguration-Cmdlet ist schneller, wenn Sie nur eine Netzwerkschnittstelle haben. Wenn Sie jedoch mehr als eine Netzwerkschnittstelle haben, müssen Sie möglicherweise Eigenschaften filtern, um zu verhindern, dass die Konsole scrollt.

Konfigurieren von IP, Gateway und DNS-Adresse manuell

Mit den bisher erlernten Cmdlets ist es an der Zeit, Ihr neues Wissen anzuwenden. Für dieses Tutorial weisen Sie einem Windows Server 2022-Host eine statische IP-Adresse, ein Gateway und DNS-Server zu.

Die Befehle ab diesem Punkt ändern nur die IP-Adresse, das Gateway und die DNS-Einstellungen für den angegebenen Netzwerkadapter. Diese Schritte müssen für jeden Adapter wiederholt werden, den Sie ändern möchten.

1. Öffnen Sie PowerShell als Administrator, und führen Sie den folgenden Befehl aus, um die Netzwerkadapter auf Ihrem Server aufzulisten.

Get-NetAdapter

Befehl zum Auffinden installierter Netzwerkadapter

Identifizieren Sie den Netzwerkadapter, den Sie ändern möchten. Sie können den Namen des Adapters oder die im Index aufgeführte Nummer verwenden (z.B. Ethernet).

Current network adapter properties of all installed adapters

2. Führen Sie anschließend den folgenden Net-NetIPAddress-Befehl aus, um die IPv4-Adresse Ihres Netzwerkadapters zu ändern. Der -PrefixLength von 24 zeigt an, dass die ersten 24 Bits der IP-Adresse für den Netzwerkteil der Adresse verwendet werden. Stellen Sie sicher, dass Sie Folgendes entsprechend ersetzen:

  • AdapterName – Der Name oder die Indexnummer Ihres Zielnetzwerkadapters.
  • ServerAddress – Die IPv4-Adresse, die dem Netzwerkadapter hinzugefügt werden soll.
  • GatewayAddress – Die Gateway-Adresse sollte im gleichen Subnetz wie die IPv4-Adresse liegen.
New-NetIPAddress -InterfaceAlias "[AdapterName]" -IPAddress [ServerAddress] -PrefixLength 24 -DefaultGateway [GatewayAddress]
Setting a new IP address and gateway

Im Zusammenhang mit dem New-NetIPAddress-Cmdlet steht Set-NetIPAddress, das die vorhandene IP-Konfiguration ändert, während Remove-NetIPAddress eine Konfiguration löscht.

3. Führen Sie nun den folgenden Befehl Set-DnsClientServerAddress aus, der keine Ausgabe erzeugt, sondern die DNS-Server ändert. Stellen Sie sicher, dass Sie AdapterName durch den Namen Ihres Netzwerkadapters (-InterfaceAlias) oder die Indexnummer (-InterfaceIndex) ersetzen. Dieser Befehl setzt die DNS-Server für Ihren Netzwerkadapter auf die öffentlichen DNS-Server von Google auf 8.8.8.8 und 8.8.4.4. Sie können jedoch beliebige gültige DNS-Server-IP-Adressen angeben.

Set-DnsClientServerAddress -InterfaceAlias "[AdapterName]" -ServerAddresses 8.8.8.8, 8.8.4.4

Beachten Sie, dass Sie mit dem Befehl Set-DnsClientServerAddress eine oder mehrere interne oder öffentlich zugängliche DNS-IP-Adressen zuweisen können.

4. Führen Sie abschließend den folgenden Befehl aus Restart-NetAdapter, der keine Ausgabe auf der Konsole druckt, sondern Ihren Netzwerkadapter neu startet und die Änderungen anwendet. Herzlichen Glückwunsch! Sie haben gerade Ihre Netzwerkschnittstelle manuell mit einer benutzerdefinierten Konfiguration konfiguriert.

Restart-NetAdapter -Name Ethernet

Wenn Ihr Host nur einen Adapter hat, wie in diesem Tutorial, kann es je nach Ihrer Verbindung vorübergehend zu Verbindungsproblemen kommen. Dieser letzte Schritt ist entscheidend, um mit der neuen IP-Adresse zu beginnen.

Abschluss

Es ist wichtig, Ihre Netzwerkkonfiguration zu kennen, um ein gesundes Netzwerk zu gewährleisten. Die gute Nachricht ist, dass Sie vier grundlegende Netzwerkkonfigurationsbefehle kennengelernt haben, die über die PowerShell IP-Konfigurations-Cmdlets verfügbar sind.

Mit diesem neu erlangten Wissen können Sie problemlos ein Skript erstellen, das die PowerShell-IP-Konfigurationsfähigkeiten als Teil eines umfassenderen Serverkonfigurationsprozesses verwendet.

Was kommt als nächstes? Warum versuchen Sie nicht, fortgeschrittenere Optionen wie MTU-Anpassungen, das Hinzufügen weiterer Routen oder das Zurücksetzen eines Adapters auf die Verwendung von DHCP anstelle einer statischen Adresse auszuprobieren?

Source:
https://adamtheautomator.com/powershell-ip-configuration/