2000365

Skript-Befehle für Windows

Namensauflösung in der PowerShell testen - so machen es Profis

11.07.2015 | 09:12 Uhr |

Die Powershell von Windows stellt leistungsfähige Befehle zur Verfügung, mit der Profis Alltagsprobleme schnell und zuverlässig lösen. Wir zeigen die Möglichkeiten der Powershell am Beispiel von Netzwerkfunktionen wie der Namensauflösung, die unter CMD mit nslookup und ping gelöst werden.

Geht es um das Testen der Namensauflösung im Netzwerk, um die richtigen DNS-Einstellungen und die korrekte IP-Konfiguration, dann denken viele Administratoren an die Befehlszeile. Zum Beispiel an die CMD-Befehle nslookup und ping. Und natürlich an das entsprechende Menü in den Windows-Systemeinstellungen.

Die wichtigsten CMD-Befehle für Windows

Powershell statt dem CMD-Fenster nutzen

Microsoft hat aber auch in der PowerShell von Windows Server 2012 R2 und Windows 8.1 einige mächtige Befehle integriert, mit denen Sie Tests und Analysen schnell und effizient durchführen können. Vorteil der Powershell-Befehle ist, dass Sie mehr Informationen erhalten, mehr Funktionen bieten und Sie so Fehler schneller finden können. In diesem Beitrag zeigen wir Ihnen einige Tipps dazu.

Namensauflösung mit Resolve-DNSName und Test-DNSServer überprüfen

Ein wichtiger Befehl dazu ist resolve-dnsname . Dieser steht allerdings nur ab Windows Server 2012 R2 und Windows 8.1 zur Verfügung.

Wie alle CMDlets für die PowerShell, bietet auch resolve-dnsname eine umfassende Syntax. Für schnelle Verbindungstests ist diese aber selten notwendig. Wollen Sie zum Beispiel auf die Schnelle eine Namensauflösung für einen Server mit allen notwendigen Host-Einträgen, TTL und IP-Adressen durchführen, geben Sie einfach resolve-dnsname <Name des Rechners> ein. Resolve-DnsName -type all <DNS-Zone> zeigt wichtige Informationen zur eigentlichen DNS-Zone an.

In der PowerShell testen Sie mit resolve-dnsname die
Namensauflösung
Vergrößern In der PowerShell testen Sie mit resolve-dnsname die Namensauflösung

Auf dem gleichen Weg können Sie auch IP-Adressen nach Rechnernamen auflösen, wenn Sie im Netzwerk eine Reverse-Forward-Zone betreiben, zum Beispiel mit Windows Server 2012 R2.

Wird im Netzwerk eine Reverse-Lookup-Zone eingerichtet,
können Sie auch Rechnernamen nach der IP-Adresse anzeigen
lassen
Vergrößern Wird im Netzwerk eine Reverse-Lookup-Zone eingerichtet, können Sie auch Rechnernamen nach der IP-Adresse anzeigen lassen

Um den Namen eines Computers auf Basis der IP-Adresse aufzulösen, verwenden Sie einfach resolve-dnsname <IP-Adresse> . Anschließend zeigt die PowerShell die gefundenen Rechner, sowie die dazugehörige Reverse-Lookup-Zone an.

In der PowerShell suchen Sie mit der IP-Adresse auch nach
dem Rechnernamen, wenn im Netzwerk eine Reverse-Lookup-Zone
vorhanden ist
Vergrößern In der PowerShell suchen Sie mit der IP-Adresse auch nach dem Rechnernamen, wenn im Netzwerk eine Reverse-Lookup-Zone vorhanden ist

Resolve-dnsname kann auch DNS-Namen über das Internet auflösen lassen, zum Beispiel mit Resolve-DnsName www.pcwelt.de . Wollen Sie nur die IPv4-Adressen anzeigen, nutzen Sie (Resolve-DnsName www.pcwelt.de).ip4address .

Die sieben wichtigsten CMD-Befehle

Wollen Sie auch Abfragen von DNS-Zonen über einen DNS-Server anzeigen, verwenden Sie zum Beispiel Resolve-DnsName contoso.int -Server dc1.contoso.int. Wer gerne mit Skripten arbeitet, und sich nur die IP-Adressen anzeigen lassen will, kann auch folgenden Befehl verwenden: ([system.net.dns]::GetHostEntry("dc1.contoso.int")).AddressList.IPAddressTostring

Mit dem CMDlet test-dnsserver können Sie die Verfügbarkeit und generelle Funktion von einem oder mehreren DNS-Servern testen. Geben Sie in der Liste einfach die IP-Adressen der DNS-Server ein, deren Verfügbarkeit Sie testen wollen. Danach erhalten Sie eine Zusammenfassung der wichtigen Informationen und sehen welche DNS-Server im Netzwerk verfügbar sind.

In der PowerShell testen Sie auch die Verfügbarkeit von
DNS-Servern. Dazu verwenden Sie das CMDlet test-dnsserver
Vergrößern In der PowerShell testen Sie auch die Verfügbarkeit von DNS-Servern. Dazu verwenden Sie das CMDlet test-dnsserver

Sie können in der PowerShell auch überprüfen, welche Netzwerkverbindungen sich auf den DNS-Servern registrieren und ob das lokale Suffix des Rechners verwendet wird. Dazu nutzen Sie das CMDlet get-dnsclient . Wollen Sie anzeigen, welche DNS-Server ein Client für die verschiedenen Netzwerkkarten verwendet, geben Sie get-dnsclientserveraddress ein.

Sie können sich in der PowerShell auch umfassende Daten
zum DNS-Client anzeigen lassen
Vergrößern Sie können sich in der PowerShell auch umfassende Daten zum DNS-Client anzeigen lassen

Geht es um die Namensauflösung im Netzwerk, spielt auch der DNS-Cache eine wichtige Rolle. Selbst wenn bei eventuellen Fehlern die Auflösung nach einer Korrektur funktioniert, können einzelne Computer noch Probleme mit der Auflösung von Namen haben, weil im DNS-Cache auf dem lokalen Rechner noch Fehler vorliegen. In der Befehlszeile löschen Sie den Cache mit ipconfig /flushdns , in der PowerShell verwenden Sie Clear-DNSClientCache . Sie können sich in der PowerShell den Cache auch anzeigen lassen. Dazu verwenden Sie den Befehl get-dnsclientcache .

Netzwerkeinstellungen in der PowerShell abfragen und anpassen

Die PowerShell verfügt über weitere neue Cmdlets, um Netzwerkeinstellungen eines Computers zu steuern oder abzufragen, zum Beispiel Get-NetIPAddress . Durch Eingabe dieses Befehls erhalten Sie umfassende Informationen zu den Netzwerkeinstellungen und IP-Adressen eines Rechners. Sie sehen alle Daten zu den IPv4- und IPv6-Adressen eines Computers.

In der PowerShell lassen Sie auch IP-Adressen und
Einstellungen der Netzwerkkarte anzeige
Vergrößern In der PowerShell lassen Sie auch IP-Adressen und Einstellungen der Netzwerkkarte anzeige

Um sich eine Liste aller Cmdlets anzuzeigen, mit denen sich Netzwerkeinstellungen festlegen lassen, hilft der Befehl Get-Command -Noun Net* .

Die PowerShell verfügt in Windows Server 2012 R2 und
Windows 8.1 über umfassende Möglichkeiten der
Netzwerksteuerung
Vergrößern Die PowerShell verfügt in Windows Server 2012 R2 und Windows 8.1 über umfassende Möglichkeiten der Netzwerksteuerung

Wie Sie DNS-Einstellungen und -Server steuern, lassen Sie sich am besten mit Get-Command -Noun Net* anzeigen. Wie bei allen Befehlen in der PowerShell, können Sie auch mit diesem umfassende Hilfen abrufen. Dazu verwenden Sie die Syntax get-help <CMDlet> . Mit der Option -examples zeigt die PowerShell Beispiele an.

Pingen in der PowerShell mit Test-Connection

Wenn Sie in der PowerShell Namensabfragen durchführen, können Sie auch gleich die Netzwerkverbindungen testen. Zwar können Sie weiterhin auch das Tool ping.exe nutzen, aber in der PowerShell finden Sie mit Test-Connection auch hier ein besseres Tool. Test-Connection kann zum Beispiel mehrere Rechner einmal testen. Dazu geben Sie einfach den Befehl ein und danach eine Liste der Rechner, die Sie überprüfen wollen. Wollen Sie den Befehl in eine Zeile schreiben, zum Beispiel für Skripte, verwenden Sie die Syntax: Test-Connection -Source <Quelle1>, <Quelle2> -ComputerName <Ziel1>, Ziel2> .

Mit dem Befehl können Sie also auch auf einmal von mehreren Quell-Computern aus mehrere Ziel-Computer scannen lassen. Sie können aber auch nur einen Rechner testen, indem Sie Test-Connection <Name oder IP-Adresse> eingeben.

Rechner mit der PowerShell über das Netzwerk abfragen und steuern

Sie können viele Befehle und Einstellungen auch über das Netzwerk in der PowerShell auf einem anderen Rechner ausführen. Dazu öffnen Sie am besten die PowerShell Integrated Script Engine (ISE). Das geht am schnellsten, wenn Sie in einer PowerShell-Sitzung „ise“ eingeben, oder nach dem Tool auf der Startseite von Windows Server 2012 R2 oder Windows 8.1 suchen. Über Datei\Neue Remote-PowerShell-Registerkarte können Sie eine PowerShell-Sitzung auf dem lokalen Rechner starten, die Befehle auf dem Remote-Rechner ausführt.

In der PowerShell ISE öffnen Sie eine PowerShell-Sitzung
auf einem Rechner im Netzwerk
Vergrößern In der PowerShell ISE öffnen Sie eine PowerShell-Sitzung auf einem Rechner im Netzwerk

Anschließend geben Sie die IP-Adresse des Ziel-Rechners und die Anmeldedaten für die Remote-Sitzung ein. Anschließend öffnet sich die neue PowerShell-Registerkarte. Alle Befehle, die Sie hier eingeben, werden auf dem Remote-Computer ausgeführt. Damit Sie mit der PowerShell von einem Rechner auf den anderen zugreifen können, müssen Sie noch den Remotezugriff auf dem Ziel-Rechner aktivieren. Das können Sie auf dem Rechner zum Beispiel mit dem CMDlet Enable-PSRemoting -force .

 

0 Kommentare zu diesem Artikel
2000365