Як я можу підключитися до сервера Windows за допомогою інтерфейсу командного рядка? (CLI)


90

Особливо з можливістю встановлення Server Core на Server 2008 і вище, підключення до серверів Windows через CLIвсе більш корисну можливість, якщо не та, яка дуже поширена серед адміністраторів Windows.

Практично кожен GUIінструмент управління Windows має можливість підключення до віддаленого комп’ютера, але у вбудованій Windows CLI( cmd.exe) немає такої опції , що створює початкове враження, що це може бути неможливим.

Чи можливо віддалене управління або адміністрування Windows Server за допомогою CLI? І якщо так, то які варіанти є для цього?

Відповіді:


102

Існує кілька досить простих варіантів віддаленого керування віддаленим сервером Windows за допомогою командного рядка, в тому числі кілька нативних варіантів.

Рідні варіанти:

  1. WinRS / WinRM

    • Інструмент віддаленої оболонки / управління Windows - це найпростіший спосіб віддаленого керування віддаленим сервером Windows в утиліті командного рядка, і, як і у більшості утиліт командного рядка Windows, ss64 має гарну сторінку за своїми параметрами та синтаксисом .
    • Хоча це чітко не зазначено в документації Microsoft, це може використовуватися для запуску віддаленого примірника cmd.exe, який створює інтерактивний командний рядок у віддаленій системі, а не як варіант командного рядка для виконання однієї команди на віддаленому сервері.
      • Як і в разі: winrs -r:myserver.mydomain.tld cmd
    • Це також опція, що підтримується в основному, яка, мабуть, буде найбільш відома адміністраторам інших систем (* nix BSDтощо), які в основному є CLIбазовими.

  2. PowerShell

    • Сподіваємось, PowerShellне потребує введення, і його можна використовувати для управління віддаленими комп'ютерами з CLIвикористанням WMI(Windows Management Instrumentation).
    • Видалення PowerShell дозволяє виконувати сценарії та команди Powershell на віддалених комп'ютерах.
    • Існує ряд хороших ресурсів щодо використання WMI+ PowerShellдля віддаленого управління, такі як блог The Scripting Guy , MSDN WMI Reference та ss64.com, який має індекс команд PowerShell 2.0 .

  3. Віддалений робочий стіл

    • Напевно, не саме перше, що вам прийшло в голову як CLIваріант Window , але, звичайно, використання mstsc.exeпідключення до сервера через віддалений робочий стіл Protocl ( RDP) дійсно дозволяє використовувати командний рядок на віддаленому сервері.
    • Підключення до встановлення сервера Core RDPє фактично можливим і надасть той самий інтерфейс, що і підключення до консолі - екземпляр cmd.exe.

Популярні, неживні варіанти:

Незважаючи на те, що Windows зараз надає декілька нативних варіантів доступу до віддаленого сервера над a CLI, це було не завжди так, і в результаті було створено ряд досить популярних сторонніх рішень. Три найбільш помітні нижче.

  1. Встановіть SSH на свій сервер Windows

    • Якщо у вас просто є SSH, це теж варіант, і на social.technet є посібник щодо встановлення OpenSSH на Server 2008.
    • Напевно, найкорисніше для адміністраторів інших систем (* nix BSDтощо), які активно використовують SSHдля цієї мети, хоча навіть адміністраторам, що працюють лише в Windows, є переваги для того, щоб один клієнт-емулятор терміналу (наприклад, PuTTY ) зберігав ряд цільові комп’ютери та персоналізовані (або стандартизовані) налаштування для кожного.

  2. PSExec

    • Оригінальний варіант виконання віддалених команд у вікні Windows через Windows CLI, це частина відмінного набору SysInternals . Один з небагатьох пакетів "must have" для адміністраторів Windows, інструменти SysInternals настільки широко поважалися та використовувалися, що SyInternals було викуплено Microsoft, а інструменти тепер дещо офіційно підтримуються Microsoft.
    • Так само, як і WinRS/ RM, PSExecможна використовувати для видачі одиночних команд віддаленому серверу або для запуску інтерактивного примірника cmd.exeна віддаленому комп'ютері.
      • Як і в разі: psexec \\myserver.mydomain.tld cmd
    • Як і в інших варіантах, є кроки, які потрібно зробити в першу чергу, щоб PSExec дійсно зміг підключитися до цільової машини .

  3. Додайте папку утиліт до сервера і збережіть його значення у системній змінній% PATH%

    • Як зазначалося в коментарях, існує багато хороших програм SysInternals, які можна виконати в командному рядку та націлити на віддалену систему, і це справедливо для більш ніж просто SysInternals.
    • В основному, запакуйте пакет улюблених утиліт Windows у папку, яку ви натискаєте на всі ваші сервери, і додайте цю папку до %PATH%змінної навколишнього середовища ваших систем . І те й інше легко зробити наскрізь GPO.
      • (Я включаю SysInternals Suite , PuTTY , WinDirStat і купу спеціальних сценаріїв, які я вважаю себе повторно використаними) у папку, яка надсилається на всі мої сервери
    • Очевидно, що це корисно для більш ніж просто управління системами Windows через CLI, але я вважаю це таким корисним, я думаю, що варто все-таки включити його.

6
Не забувайте про інші PSTools, такі як PSList, PSKill і т. Д. PSExec - це лише одна невелика частина цього набору інструментів, і більшість з них дуже не використовується.
Джон Гарденєр

4
Я також додам, що кілька утиліт командного рядка, таких як shutdownі iisreset(якщо встановлений IIS), дозволяють вказати машину для виконання, і тому можна використовувати віддалено.
Джошуа Дрейк

1
Чому ви не згадали про функцію сервера Telnet?
абатищев

3
@abatishchev Тому що в цей день ніхто не повинен запускати сервер telnet ні для чого.
HopelessN00b

1
Добре працює для виконання консольних команд при правильній налаштуваннях та запуску в захищеному середовищі.
абатищев

5

Просто задля повноти: хоча це може бути не найкращим рішенням з різних причин, кожна система Windows підтримує послугу Telnet, яку можна включити зі списку функцій.

Реалізація telnet Microsoft також підтримує автентифікацію NTLM, тому на відміну від стандартної telnet до системи Unix, при використанні її в мережі не надсилається чіткий текстовий пароль.


сервер telnet видалено в Windows 10
typelogic

використовуйте це лише в тому випадку, якщо інший безпечний спосіб неможливий. трафік все ще повинен проходити через захищений vpn
mit
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.