| Netsh-Befehlszeilensyntax | |
| Netsh-Kontexte | |
| Netsh-Befehlsmodi | |
| Verwenden des dump-Befehls zum Erstellen eines Konfigurationsskripts | |
| Netsh-Beispielskript | |
| Remotekonfiguration |
(Engl. Originaltitel: The Cable Guy - November 2001)
Von The Cable Guy (englischsprachig)
Sie können das Befehlszeilen- und Skriptprogramm Netsh zur Konfiguration von Windows 2000-Netzwerkkomponenten auf dem lokalen Computer oder auf Remotecomputern verwenden. Netsh-Befehle können an der Windows 2000-Eingabeaufforderung oder interaktiv an einer Netsh-Eingabeaufforderung ausgeführt werden. Sie können auch eine Skriptdatei erstellen, um einen Netsh-Befehlsstapel auszuführen. Mithilfe des Dienstprogramms Netsh können Sie ebenfalls die aktuelle Netzwerkkonfiguration eines Computers in einer Skriptdatei zu Archivierungs- und Wiederherstellungszwecken oder zum Konfigurieren anderer Server speichern.
Netsh unterstützt mehrere Windows 2000-Komponenten über das Hinzufügen von Netsh-Hilfsprogramm-DLLs. Durch eine Netsh-Hilfsprogramm-DLL wird der Funktionsumfang von Netsh durch das Bereitstellen zusätzlicher Befehle zur Überwachung oder Konfiguration einer bestimmten Windows 2000-Netzwerkkomponente erweitert. So stellt beispielsweise Dhcpmon.dll Befehle zur Konfiguration des DHCP-Serverdienstes (Dynamic Host Configuration Protocol) bereit. Jede Netsh-Hilfsprogramm-DLL stellt einen Kontext bereit, bei dem es sich um eine Reihe von Befehlen für eine bestimmte Netzwerkkomponente handelt. In einem Kontext können weitere Unterkontexte enthalten sein. So gruppieren beispielsweise innerhalb des routing-Kontextes die Unterkontexte ip und ipx IP- und IPX-Routingbefehle.
Netsh-Befehlszeilenparameter schließen Folgendes ein:
| • | -aAliasdatei |
Gibt an, dass eine Aliasdatei verwendet wird. Eine Aliasdatei enthält sowohl eine Liste mit Netsh-Befehlen als auch eine Aliasversion aller Befehle. Sie können die Aliasversion eines Befehls zur Verkürzung eines Netsh-Befehls verwenden.
| • | -cKontext |
Gibt den Standardkontext für nachfolgende Befehle an der Netsh-Eingabeaufforderung an. Ohne die Option -c entspricht der Standardkontext dem Stammkontext netsh.
| • | Befehl |
Gibt den Netsh-Befehl an, der ausgeführt werden soll. Sie müssen einen vollständigen Netsh-Befehl, einschließlich der Parameter, angeben. Andernfalls zeigt Netsh die Befehlszeilenhilfe an. Bei Verwendung der Option -c ist der Kontext Bestandteil des Netsh-Befehls.
| • | -fSkriptdatei |
Gibt an, dass alle Netsh-Befehle in der Datei Skriptdatei ausgeführt werden.
| • | -rRemotecomputer |
Gibt an, dass die Netsh-Befehle für einen Remotecomputer, der über den Computernamen oder die IP-Adresse angegeben wurde, ausgeführt werden.
Sie können Befehle entweder an der Windows 2000-Eingabeaufforderung ausführen:
C:\netsh interface ip show address
oder an einer Netsh-Eingabeaufforderung im interaktiven Modus:
netshinterface ip show address
Der eigentliche Befehl, der an der Netsh-Eingabeaufforderung ausgeführt wird, hängt vom aktuellen Kontext ab. So führen beispielsweise alle folgenden Befehle zu dem selben Ergebnis:
netshinterface ip show address
interfaceip show address
interface ipshow address
Sie können Befehle auf ihre kürzeste eindeutige Form verkürzen. Beispiel:
C:\netsh interface ip show address
entspricht:
C:\netsh int ip sh ad
Netsh-Befehle sind entweder global oder kontextspezifisch. Globale Befehle können in jedem Kontext ausgegeben werden und werden für allgemeine Netsh-Programmfunktionen verwendet. Kontextspezifische Befehle variieren abhängig vom Kontext.
Sie können einen Befehl aus dem einen Kontext nicht für einen anderen Kontext ausführen. Der folgende Befehl kann beispielsweise nicht ausgeführt werden:
rasinterface ip show address
Dies hängt damit zusammen, dass es sich bei ras und interface um verschiedene Kontexte handelt.
Globale Netsh-Befehle
In der folgenden Tabelle werden die globalen Netsh-Befehle aufgeführt.
| Befehl | Beschreibung |
.. | Wechsel zum Kontext, der sich eine Ebene über dem aktuellen Kontext befindet. Der Stammkontext ist netsh. |
? | Zeigt die Befehlszeilenhilfe an, einschließlich Syntax und Beispielen. |
add helper | Installiert eine Netsh-Hilfsprogramm-DLL. |
delete helper | Entfernt eine Netsh-Hilfsprogramm-DLL. |
show helper | Zeigt die installierten Netsh-Hilfsprogramm-DLLs an. |
online | Legt den aktuellen Modus auf online fest. |
offline | Legt den aktuellen Modus auf offline fest. |
set mode | Legt den aktuellen Modus auf online oder offline fest. |
show mode | Zeigt den aktuellen Modus an. |
abort | Verwirft alle im Offlinemodus vorgenommenen Änderungen. |
commit | Übernimmt im Offlinemodus vorgenommene Änderungen. |
set machine | Konfiguriert den Computer, auf dem die Netsh-Befehle ausgeführt werden. |
exec | Führt eine Skriptdatei aus, die Netsh-Befehle enthält. |
quit | Beendet das Netsh-Dienstprogramm. |
dump | Zeigt die aktuelle Konfiguration als eine Folge von Netsh-Befehlen an. |
pushd | Speichert den aktuellen Kontext am Anfang eines LIFO-Stapels (Last-In-First-Out) und wechselt optional zu einem anderen Kontext. |
popd | Stellt einen Kontext vom obersten Element eines LIFO-Stapels wieder her. |
alias | Fügt einen Alias zu einem bestehenden Befehl hinzu. |
unalias | Löscht einen Alias aus einem bestehenden Befehl. |
Eine Netsh-Hilfsprogramm-DLL, die auf dem lokalen Computer installiert ist, stellt einen Kontext (also eine Gruppe von Befehlen) und optional auch Unterkontexte bereit. Sie können nur solche Befehle ausführen, die lokal installierten Hilfsprogramm-DLLs entsprechen, selbst wenn die Hilfsprogramm-DLLs auf einem Remotecomputer installiert sind.
Dies ist beispielsweise dann der Fall, wenn Sie das Netsh-Dienstprogramm auf einem Computer unter Windows 2000 Professional ausführen, um einen Computer unter Windows 2000 Server remote zu verwalten. Obwohl die zusätzlichen Hilfsprogramm-DLLs für die Verwaltung des DHCP-Serverdienstes, von WINS (Windows Internet Name Service) und IAS (Internet Authentication Service) auf dem Computer installiert sind, der Windows 2000 Server ausführt, können Sie das Netsh-Dienstprogramm auf diesem Computer nicht zum Konfigurieren dieser Dienste auf dem Computer unter Windows 2000 Server verwenden, falls die Hilfsprogramm-DLLs nicht auf dem Computer unter Windows 2000 Professional installiert sind.
Für dieses Problem gibt es zwei Lösungen:
1. |
Installieren Sie die Windows 2000-Verwaltungsprogramme auf dem Computer, der Windows 2000 Professional ausführt, indem Sie die Datei Adminpak.msi im Ordner I386 auf einer Windows 2000 Server-CD ausführen. |
2. | Stellen Sie entweder eine Verbindung über die Terminaldienste oder Telnet von dem Computer unter Windows 2000 Professional mit dem Computer unter Windows 2000 Server her, und führen Sie Netsh dann auf dem Computer unter Windows 2000 Server aus. |
Bei dieser Lösung wird der Remotemodus nicht verwendet.
Sie können einen bestimmten Netsh-Kontext nicht über die Windows 2000-Befehlszeile eingeben, indem Sie den Kontext als Befehl angeben. So können Sie beispielsweise nicht den folgenden Befehl zum Ausführen von Netsh und zum Wechseln zum interface-Kontext verwenden:
C:\netsh interface
Zur Eingabe eines Netsh-Kontextes an der Windows 2000-Befehlszeile steht Ihnen die Befehlszeilenoption -c zur Verfügung. Beispiel:
C:\netsh -c interface
Windows 2000 Professional stellt die folgenden Kontexte bereit:
| • | interface |
Wird zum Konfigurieren von Schnittstellenparametern für RAS-Verbindungen und die TCP/IP-Konfiguration verwendet.
| • | ras |
Wird zum Konfigurieren der Komponente der eingehenden Verbindungen der Netzwerk- und DFü-Verbindungen verwendet.
| • | routing |
Wird zum Konfigurieren der ICS-Komponente (Internet Connection Sharing oder Internetverbindungsfreigabe) der Netzwerk- und DFü-Verbindungen verwendet.
Windows 2000 Server stellt die folgenden Kontexte bereit:
| • | interface |
Wird zum Konfigurieren von Schnittstellenparametern für RAS-Verbindungen, Verbindungen für Wählen bei Bedarf und die TCP/IP-Konfiguration verwendet.
| • | ras |
Wird zum Konfigurieren der Komponente der eingehenden Verbindungen der Netzwerk- und DFü-Verbindungen und für den RRAS-Dienst (Routing and Remote Access) verwendet.
| • | routing |
Wird zum Konfigurieren der ICS-Komponente der Netzwerk- und DFü-Verbindungen und für den RRAS-Dienst verwendet.
| • | dhcp |
Wird zum Konfigurieren des DHCP-Serverdienstes verwendet.
| • | wins |
Wird zum Konfigurieren von WINS verwendet.
| • | aaaa |
Wird zum Konfigurieren der AAAA-Datenbank (Authentication, Authorization, Accounting, and Auditing) verwendet, die sowohl von IAS als auch dem RRAS-Dienst verwendet wird.
Das Netsh-Dienstprogramm weist die folgenden Befehlsmodi auf:
| • | Nicht interaktiv Bei der Eingabe von Netsh-Befehlen an einer Windows 2000-Eingabeaufforderung befinden Sie sich im nicht interaktiven Modus. |
| • | Interaktiv Bei der Eingabe von Befehlen an einer Netsh-Eingabeaufforderung befinden Sie sich im interaktiven Modus.
|
| • | Skript Durch die Befehlszeilenoption -f oder den globalen Befehl exec werden alle Netsh-Befehle in der angegebenen Datei im Skriptmodus ausgeführt. |
| • | Lokal Im lokalen Modus werden Befehle auf den lokalen Computer angewendet. |
| • | Remote Im Remotemodus werden Befehle auf einen Remotecomputer angewendet, der über den Computernamen oder die IP-Adresse angegeben wurde. Weitere Informationen zum Remotemodus finden Sie in diesem Artikel unter "Remotekonfiguration". |
Verwenden Sie den globalen Befehl dump, um ein Skript der aktuellen Netzwerkkonfiguration zu erstellen. Durch den dump-Befehl wird die aktuelle Netzwerkkonfiguration durch Netsh-Befehle angezeigt. Zum Erstellen einer Skriptdatei geben Sie den folgenden Befehl an einer Windows 2000-Eingabeaufforderung ein:
C:\netsh dump config.nsh
Sie können das durch diesen Befehl erstellte Skript entweder zum Konfigurieren eines neuen Servers oder zum Neukonfigurieren eines vorhandenen Servers durch Ausführen des folgenden Befehls an einer Windows 2000-Eingabeaufforderung verwenden:
C:\netsh -f config.nsh
Wenn Sie umfangreiche Änderungen an der Konfiguration einer Komponente vornehmen, wird empfohlen, die Sitzung mit der Speicherung der aktuellen Konfiguration in einer Skriptdatei zu beginnen. Durch Speichern der ungeänderten Konfiguration können Sie sicherstellen, dass die Konfiguration wiederhergestellt werden kann.
In diesem Beispiel führt das Netsh-Skript eine autostatische Aktualisierung der Routen auf einem Zweigstellenrouter aus, der Windows 2000 und den RRAS-Dienst ausführt. Die auszuführenden Befehle lauten wie folgt:
netsh interface set interface name=CorpHub connect=CONNECTED
netsh routing ip rip update CorpHub
netsh interface set interface name=CorpHub connect=DISCONNECTED
Sie können diese Befehle über eine Stapeldatei ausführen oder in eine Netsh-Skriptdatei einfügen. So enthält beispielsweise die Skriptdatei Corphub.nsh die folgenden Befehle:
interface set interface name=CorpHub connect=CONNECTED routing ip rip update CorpHub interface set interface name=CorpHub connect=DISCONNECTED
Zur Ausführung der Skriptdatei Corphub.scp geben Sie Folgendes an einer Eingabeaufforderung ein:
netsh -f corphub.nsh
Nach dem Erstellen der Netsh-Skriptdatei können Sie sie entweder bei Bedarf oder in regelmäßigen Abständen mithilfe des Windows 2000-Taskplaners ausführen.
Einer der hilfreichsten Features von Netsh ist die Fähigkeit, Computer unter Windows 2000 remote zu konfigurieren. Sie können den remote zu konfigurierenden Computer entweder über die Befehlszeilenoption -rRemotecomputer oder mithilfe des globalen Netsh-Befehls set machine anzeigen. In beiden Fällen können Sie einen Remotecomputer über einen NetBIOS-Namen, einen UNC-Namen, einen DNS-Domänennamen oder eine IP-Adresse in punktierter Dezimalschreibweise angeben.
Zur Ausführung der Befehle auf einem Remotecomputer benötigen Sie Administratorrechte auf dem Remotecomputer. Sie müssen über ein Benutzerkonto angemeldet sein, das Mitglied der Gruppe Administratoren auf dem Remotecomputer ist. Alternativ muss bereits eine Verbindung mit dem Remotecomputer hergestellt sein, der ein Benutzerkonto verwendet, das Mitglied der Gruppe Administratoren auf dem Remotecomputer ist.
Wenn Sie den set machine-Befehl zur Angabe des Remotecomputers verwenden, wechselt die Netsh-Eingabeaufforderung und zeigt den Namen oder die IP-Adresse des Remotecomputers an, auf dem die Befehle ausgeführt werden. Hier sehen Sie ein Beispiel:
netshset machine 157.59.138.21 [157.59.138.21] netshinterface
Sie können mehrere Remotecomputer über dieselbe Skriptdatei konfigurieren, indem Sie jede auf einem Remotecomputer auszuführende Befehlsfolge mit dem entsprechenden set machine-Befehl beginnen.
Einige Befehle, wie etwa Befehle im aaaa-Kontext, können nicht remote ausgeführt werden. Um Netsh auf den lokalen Computer zurückzusetzen, geben Sie den set machine-Befehl ohne Parameter aus.