it-swarm-ru.tech

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

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

Практически каждый инструмент управления Windows GUI имеет возможность подключиться к удаленному компьютеру, но во встроенной Windows CLI (cmd.exe) Такой опции нет, которая создает первоначальное впечатление, что это может быть невозможно.

Возможно ли удаленное управление или администрирование Windows Server с помощью интерфейса командной строки? И если да, то какие есть варианты для этого?

96
HopelessN00b

Существует несколько довольно простых опций для удаленного управления удаленным Windows Server с помощью командной строки, включая несколько собственных опций.

Собственные параметры:

  1. WinRS/WinRM

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

  2. PowerShell

  3. Удаленный рабочий стол

    • Вероятно, это не совсем первое, что приходит на ум в качестве опции Window CLI, но, конечно, с использованием mstsc.exe для подключения к серверу через удаленный рабочий стол Protocl (RDP) разрешает использование командной строки на удаленном сервере.
    • Подключение к установке Server Core через RDP, фактически возможно и даст тот же интерфейс, что и при подключении к консоли - экземпляр cmd.exe.

Популярные, неродные варианты:

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

  1. Установите [~ # ~] ssh [~ # ~] на свой Windows Server

    • Если вам просто нужно иметь SSH, это тоже вариант, и есть руководство по social.technet для установки OpenSSH на Server 2008.
    • Вероятно, наиболее полезно для администраторов других систем (* nix, BSD и ​​т.д.), Которые интенсивно используют SSH для этой цели, хотя даже администраторам, использующим только Windows, есть преимущества, связанные с клиент эмулятора одного терминала (например, PuTTY ) хранит количество целевых компьютеров и индивидуальные (или стандартизированные) настройки для каждого.

  2. PSEXEC

    • Оригинальная опция для выполнения удаленных команд на Windows-боксе через Windows CLI, это часть превосходного Sysinternals Suite . Один из очень немногих "обязательных" пакетов для администраторов 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, но я нахожу это настолько полезным, что я думаю, что в любом случае его стоит включить.
109
HopelessN00b

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

Реализация telnet от Microsoft также поддерживает проверку подлинности NTLM, поэтому, в отличие от стандартного telnet для системы Unix, при ее использовании в сеть не передается пароль в виде открытого текста.

5
Massimo