Jak mogę połączyć się z serwerem Windows za pomocą interfejsu wiersza poleceń? (CLI)

90

Zwłaszcza z opcją instalacji Server Core w Server 2008 i nowszych wersjach, łączenie się z serwerami Windows za pomocą CLIcoraz bardziej przydatnej możliwości, jeśli nie takiej, która jest bardzo rozpowszechniona wśród administratorów Windows.

Praktycznie każde GUInarzędzie do zarządzania Windows ma opcję połączenia ze zdalnym komputerem, ale nie ma takiej opcji we wbudowanym Windows CLI( cmd.exe), co daje początkowe wrażenie, że może to nie być możliwe.

Czy możliwe jest zdalne zarządzanie lub administrowanie systemem Windows Server za pomocą interfejsu CLI? A jeśli tak, jakie są opcje, aby to osiągnąć?

Beznadziejny
źródło

Odpowiedzi:

102

Dostępnych jest kilka dość łatwych opcji zdalnego zarządzania zdalnym systemem Windows Server za pomocą wiersza polecenia, w tym kilka opcji natywnych.

Opcje natywne:

  1. WinRS / WinRM

    • Narzędzie Windows Remote Shell / Management to najprostszy sposób na zdalne zarządzanie zdalnym serwerem Windows w narzędziu wiersza poleceń, i podobnie jak w przypadku większości narzędzi wiersza poleceń Windows, ss64 ma dobrą stronę na temat swoich opcji i składni .
    • Chociaż nie jest to wyraźnie określone w dokumentacji Microsoft, może być użyte do uruchomienia zdalnej instancji cmd.exe, która tworzy interaktywny wiersz poleceń w systemie zdalnym, a nie jako opcję wiersza poleceń do wykonania pojedynczego polecenia na zdalnym serwerze.
      • Jak z: winrs -r:myserver.mydomain.tld cmd
    • Jest to również natywnie obsługiwana opcja, która prawdopodobnie będzie najbardziej znana administratorom innych systemów (* nix BSDitp.), CLIKtóre są oparte głównie na bazach.

  2. PowerShell

  3. Zdalny ekran

    • Prawdopodobnie nie jest to pierwsza rzecz, która przychodzi na myśl jako CLIopcja Windows , ale oczywiście użycie mstsc.exepołączenia z serwerem za pomocą Remote Desktop Protocl ( RDP) umożliwia użycie wiersza poleceń na zdalnym serwerze.
    • Połączenie z instalacją Server Core RDPjest w rzeczywistości możliwe i da ten sam interfejs co połączenie z konsolą - instancja cmd.exe.

Popularne, nienatywne opcje:

Mimo że system Windows oferuje teraz kilka rodzimych opcji dostępu do zdalnego serwera przez CLI, nie zawsze tak było, w wyniku czego powstało wiele dość popularnych rozwiązań innych firm. Trzy najbardziej godne uwagi są poniżej.

  1. Zainstaluj SSH na swoim Windows Server

    • Jeśli po prostu musisz SSH, jest to również opcja, a na social.technet znajduje się przewodnik na temat instalacji OpenSSH na serwerze 2008.
    • Prawdopodobnie najbardziej przydatny dla administratorów innych systemów (* nix BSDitp.) SSH, Którzy często korzystają z tego celu, chociaż nawet administratorzy tylko Windows mają zalety posiadania jednego klienta emulatora terminala (takiego jak PuTTY ) przechowującego wiele komputery docelowe i dostosowane (lub standardowe) ustawienia dla każdego z nich.

  2. PSExec

    • Oryginalna opcja wykonywania poleceń zdalnych w oknie systemu Windows za pośrednictwem systemu Windows CLI, jest to część doskonałego pakietu SysInternals . Jeden z niewielu pakietów „must have” dla administratorów Windows, narzędzia SysInternals były tak szanowane i używane, że SyInternals zostało wykupione przez Microsoft, a narzędzia te są teraz nieco oficjalnie wspierane przez Microsoft.
    • Podobnie jak w przypadku WinRS/ RM, PSExecmożna go używać do wydawania pojedynczych poleceń na zdalnym serwerze lub do uruchamiania interaktywnej instancji cmd.exena komputerze zdalnym.
      • Jak z: psexec \\myserver.mydomain.tld cmd
    • Podobnie jak w przypadku innych opcji, musisz najpierw wykonać kroki, aby upewnić się, że PSExec jest w stanie połączyć się z maszyną docelową .

  3. Dodaj folder narzędzi do serwera i zapisz jego wartość w zmiennej systemowej% PATH%

    • Jak zauważono w komentarzach, istnieje wiele dobrych programów SysInternals, które można uruchamiać w wierszu poleceń i celować w zdalny system, i dotyczy to nie tylko SysInternals.
    • Zasadniczo spakuj pakiet ulubionych narzędzi systemu Windows do folderu, który wypychasz na wszystkie serwery i dodaj ten folder do %PATH%zmiennej środowiskowej systemu . Oba są łatwe do wykonania GPO.
    • Oczywiście jest to przydatne nie tylko do zarządzania systemami Windows CLI, ale uważam to za przydatne, ale myślę, że i tak warto je włączyć.
Beznadziejny
źródło
6
Nie zapomnij o innych narzędziach PSTool, takich jak PSList, PSKill itp. PSExec to tylko jedna niewielka część tego zestawu narzędzi i większość z nich jest bardzo słabo wykorzystywana.
John Gardeniers,
4
Dodałbym również, że kilka narzędzi wiersza poleceń, takich jak shutdowni iisreset(jeśli IIS jest zainstalowany), które pozwalają określić maszynę do uruchomienia, a zatem mogą być używane zdalnie.
Joshua Drake
1
Dlaczego nie wspomniałeś o funkcji serwera Telnet?
abatishchev
3
@abatishchev Ponieważ nikt nie powinien prowadzić serwera Telnet dla niczego w dzisiejszych czasach.
HopelessN00b
1
Działa poprawnie do wykonywania poleceń konsoli, gdy jest poprawnie skonfigurowany i działa w bezpiecznym środowisku.
abatishchev
5

Ze względu na kompletność: chociaż z różnych powodów może nie być to najlepsze rozwiązanie, każdy system Windows obsługuje usługę Telnet, którą można włączyć z listy funkcji.

Implementacja telnet firmy Microsoft obsługuje również uwierzytelnianie NTLM, dlatego w przeciwieństwie do standardowego telnet do systemu uniksowego, hasło nie jest wysyłane w sieci podczas korzystania z niego.

Massimo
źródło
serwer telnet został usunięty z systemu Windows 10
typelogic
używaj tego tylko, jeśli żaden inny bezpieczny sposób nie jest możliwy. ruch powinien nadal przechodzić przez zabezpieczoną VPN
mit