it-swarm.com.de

Wie kann ich über eine Befehlszeilenschnittstelle eine Verbindung zu einem Windows-Server herstellen? (CLI)

Insbesondere mit der Option zur Installation von Server Core in Server 2008 und höher wird das Herstellen einer Verbindung zu Windows-Servern über ein CLI zunehmend nützlich, wenn nicht sogar unter Windows-Administratoren sehr verbreitet.

Praktisch jedes Windows GUI -Verwaltungstool verfügt über eine Option zum Herstellen einer Verbindung zu einem Remotecomputer. In dem integrierten Windows CLI (cmd.exe) Ist jedoch keine solche Option vorhanden vermittelt den ersten Eindruck, dass dies möglicherweise nicht möglich ist.

Ist es möglich, einen Windows Server über eine CLI remote zu verwalten oder zu verwalten? Und wenn ja, welche Möglichkeiten gibt es, um dies zu erreichen?

96
HopelessN00b

Für die Remoteverwaltung eines Windows Server-Remotes über eine Befehlszeile stehen mehrere recht einfache Optionen zur Verfügung, darunter einige native Optionen.

Native Optionen:

  1. WinRS/WinRM

    • Das Windows Remote Shell/Management-Tool ist der einfachste Weg, einen Remote-Windows-Server in einem Befehlszeilenprogramm remote zu verwalten. Wie bei den meisten Windows-Befehlszeilenprogrammen ist ss64 hat eine gute Seite mit Optionen und Syntax .
    • Obwohl dies in der Microsoft-Dokumentation nicht explizit angegeben ist, kann dies zum Starten einer Remote-Instanz von cmd.exe Verwendet werden, die eine interaktive Befehlszeile auf dem Remote-System erstellt, anstatt als Befehlszeilenoption zum Ausführen eines einzelnen Befehls auf einem Remote-Server.
      • Wie bei: winrs -r:myserver.mydomain.tld cmd
    • Dies ist auch die nativ unterstützte Option, die Administratoren anderer Systeme (* nix, BSD usw.), die hauptsächlich auf CLI basieren, wahrscheinlich am vertrautesten ist.

  2. PowerShell

  3. Remotedesktop

    • Wahrscheinlich nicht gerade das erste, was Ihnen als Windows CLI -Option in den Sinn kommt, aber natürlich mit mstsc.exe, Um über Remote Desktop Protocl (RDP) eine Verbindung zu einem Server herzustellen Aktivieren Sie die Verwendung einer Befehlszeile auf dem Remote-Server.
    • Das Herstellen einer Verbindung zu einer Server Core-Installation über RDP ist tatsächlich möglich und bietet dieselbe Schnittstelle wie das Herstellen einer Verbindung zur Konsole - eine Instanz von cmd.exe.

Beliebte, nicht native Optionen:

Obwohl Windows jetzt einige native Optionen für den Zugriff auf einen Remote-Server über ein CLI bietet, war dies nicht immer der Fall, und als Ergebnis wurden eine Reihe recht beliebter Lösungen von Drittanbietern erstellt. Die drei bemerkenswertesten sind unten.

  1. Installieren Sie SSH auf Ihrem Windows Server

    • Wenn Sie nur SSH haben müssen, ist dies ebenfalls eine Option, und es gibt eine Anleitung auf social.technet zur Installation von OpenSSH auf Server 2008.
    • Wahrscheinlich am nützlichsten für Administratoren anderer Systeme (* nix, BSD usw.), die SSH für diesen Zweck stark nutzen, obwohl selbst Windows-Administratoren Vorteile haben, wenn sie a haben Ein einzelner Terminal-Emulator-Client (wie PuTTY ) speichert eine Reihe von Zielcomputern und benutzerdefinierte (oder standardisierte) Einstellungen für jeden.

  2. PSExec

    • Die ursprüngliche Option zum Ausführen von Remote-Befehlen auf einer Windows-Box über Windows CLI ist Teil der ausgezeichneten Sysinternals Suite . Als eines der wenigen "Must-Have" -Pakete für Windows-Administratoren wurden die SysInternals-Tools so weithin anerkannt und verwendet, dass SyInternals von Microsoft aufgekauft wurde und die Tools nun offiziell von Microsoft unterstützt werden.
    • Genau wie bei WinRS/RM kann PSExec verwendet werden, um einzelne Befehle an einen Remote-Server zu senden oder eine interaktive Instanz von cmd.exe Auf einem zu starten entfernter Computer.
      • Wie bei: psexec \\myserver.mydomain.tld cmd
    • Wie bei den anderen Optionen müssen zunächst einige Schritte ausgeführt werden, um sicherzustellen, dass PSExec kann tatsächlich eine Verbindung zum Zielcomputer herstellen .

  3. Fügen Sie dem Server einen Dienstprogrammordner hinzu und speichern Sie seinen Wert in der Systemvariablen% PATH%

    • Wie in den Kommentaren erwähnt, gibt es viele gute SysInternals-Programme, die über die Befehlszeile ausgeführt werden können und auf ein entferntes System abzielen. Dies gilt nicht nur für SysInternals.
    • Packen Sie im Grunde genommen ein Bündel Ihrer bevorzugten Windows-Dienstprogramme in einen Ordner, den Sie auf alle Ihre Server übertragen, und fügen Sie diesen Ordner der Umgebungsvariablen %PATH% Ihrer Systeme hinz . Beide sind einfach über GPO. Zu erledigen.
      • (Ich füge die Sysinternals Suite , PuTTY , WinDirStat und eine Reihe von benutzerdefinierten Skripten, die ich wieder verwende, in einen Ordner ein, der an alle gesendet wird meine Server
    • Dies ist natürlich nützlich, um nicht nur Windows-Systeme über CLI zu verwalten, aber ich finde es so nützlich, dass ich denke, es lohnt sich trotzdem, es einzubeziehen.
109
HopelessN00b

Der Vollständigkeit halber: Obwohl dies aus verschiedenen Gründen möglicherweise nicht die beste Lösung ist, unterstützt jedes Windows-System den Telnet-Dienst, der über die Funktionsliste aktiviert werden kann.

Die Telnet-Implementierung von Microsoft unterstützt auch die NTLM-Authentifizierung. Daher wird im Gegensatz zum Standard-Telnet für ein Unix-System bei Verwendung kein Klartextkennwort im Netzwerk gesendet.

5
Massimo