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


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

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

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


78
2017-09-18 11:11


Источник




Ответы:


Существует несколько довольно простых опций для удаленного управления удаленным 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 на сервере 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, но я считаю, что это так полезно, я думаю, что это стоит включить в любом случае.

89
2017-09-18 11:11



Не забывайте о других PSTools, таких как PSList, PSKill и т. Д. PSExec - это только одна небольшая часть этого набора инструментов, и большинство из них очень мало используются. - John Gardeniers
Я бы также добавил, что несколько утилит командной строки, таких как shutdown а также iisreset (если установлен IIS), которые позволяют указать машину для выполнения, и поэтому ее можно использовать удаленно. - Joshua Drake
Почему вы не упомянули о функции Telnet Server? - abatishchev
@abatishchev Потому что никто не должен запускать сервер telnet для чего-либо в этот день и в возрасте. - HopelessN00b
Хорошо работает для выполнения команд консоли при правильной настройке и запуске в защищенной среде. - abatishchev


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

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


4
2018-03-31 13:09