Назад | Перейти на главную страницу

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

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

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

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

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

Родные параметры:

  1. WinRS / WinRM

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

  2. PowerShell

  3. Удаленного рабочего стола

    • Наверное, не первое, что приходит на ум в качестве окна. CLI вариант, но, конечно, используя mstsc.exe для подключения к серверу через Remote Desktop 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. Инструменты SysInternals, один из очень немногих пакетов, обязательных к использованию для администраторов Windows, были настолько широко уважаемы и использовались, что 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, но я считаю его настолько полезным, что я думаю, что его все равно стоит включить.

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

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