Заметки о Windows и других программных продуктах Microsoft...

Удаленное управление Windows с помощью WinRM

Удаленное управление Windows с помощью WinRM

Собственно WinRM (или Windows Remote Management) и переводится как «удаленное управление Windows». WinRM – служба удаленного управления для операционных систем Windows. Она входит в состав операционных систем начиная с Vista и Server 2008, для Windows XP и Server 2003 ее нужно устанавливать отдельно отсюда. WinRM – серверная часть приложения удаленного управления, к которому возможно удаленное подключение с помощью клиента Windows Remote Shell (WinRS).

WinRM основан на службах Web Services for Management (WS-Management) и использует протокол HTTP (порт 80) или HTTPS (443) и запросы SOAP для выполнения работы. Независимо от используемого протокола весь трафик, передаваемый WinRM шифруется (если специально не отключить эту опцию). Для аутентификации по умолчанию используется протокол Kerberos.

 В Windows Server 2008 WinRM установлен, но (по соображениям безопасности) по умолчанию не включен. Чтобы проверить, запущен ли WinRM на нашей машине, набираем в командной строке winrm enumerate winrm/config/listener

Если ответа нет, значит WinRM не запущен. Для того, чтобы настроить WinRM на автоматический запуск и разрешить удаленное подключение к компьютеру, набираем команду winrm quickconfig  или winrm qc

Запускаем WinRM

 

Чтобы WinRM не спрашивал подтверждения, можно добавить к вызову ключ -quiet. Узнать информацию о более тонкой настройке можно посмотреть встроенную справку WinRM: winrm help config

Ну и отключить WinRM можно с помощью такой команды:
winrm delete winrm/config/listener?IPAdress=*+Transport=HTTP

 Также все необходимые настройки можно сделать с помощью групповых политик. Для этого нужно:

  • Настроить службу WinRM на автоматический запуск
  • Разрешить подключения на соответствующие порты (80 и 443) в брандмауэре Windows
  • Настроить элемент групповой политики Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Удаленное управление Windows\Служба удаленного управления Windows\Разрешить автоматическую установку прослушивателей (Computer Configuration\Administrative Templates\Windows Components\Windows Remote Management \WinRM Service\Allow automatic configuration of listeners). Тут нужно будет указать  IP-адреса, с которых разрешаются подключения.

 Теперь перейдем непосредственно к использованию. Для подключения к удаленному компьютеру используем утилиту WinRS. WinRS – аббревиатура для Windows Remote Shell (удаленная среда Windows). С WinRS мы можем делать удаленные запросы на компьютеры, на которых запущен WinRM. Однако имейте ввиду, что на вашей машине также необходимо запускать WinRM для работы с WinRS.

Основным способом использования WinRS является выполнение команд на удаленной машине. Имя компьютера задаётся ключом -r, а после него следует выполняемая команда, например winrsr:SRV2 ipconfig /all запускает на удаленном компьютере SRV2 команду ipconfig /all

Запуск удаленной команды

 

По умолчанию для коммуникаций используется протокол http, но можно использовать и https: winrs -r:https://SRV2 ipconfig /all

Также можно с помощью  WinRS открыть интерактивный сеанс на удалённом компьютере: winrs -r:SRV2 cmd.exe

Запуск удаленного сеанса

 Эта функция аналогична подключению по telnet, но использование WinRS однозначно лучше с точки зрения безопасности.

 

 Для использования WinRM все компьютеры должны быть членами одного домена. Если в вашем случае это не так, то можно попробовать понизить уровень безопасности. Для этого на компьютере, к которому хотим получить доступ, вводим следующие команды:

WinRM set winrm/config/service/auth @{Basic=«true»}

WinRM set winrm/config/client @{TrustedHosts=«<local>»}

WinRM set winrm/config/client @{TrustedHosts=«ComputerName»}

где ComputerName  — удаленный компьютер, с которого будет производиться подключение.

 

На компьютере, с которого будем подключаться, вводим :

WinRM set winrm/config/service/auth @{Basic=«true»}

WinRM set winrm/config/client @{TrustedHosts=«<local>»}

WinRM set winrm/config/client @{TrustedHosts=«ComрuterName»}

где ComputerName — компьютер, которым будем управлять.

 

Затем устанавливаем соедининие с помощью команды:

winrs -r:«ComputerName»: –u:Domain\Username –p:Password cmd.exe

где Domain\Username —  учетная запись пользователя с административными правами на удаленном компьютере.

 
 
Комментарии

В последнем примере команды лишнее двоеточие после «ComputerName».

Сергей

Огромное спасибо. Искал рабочую команду для удаления именно самого прослушивателя *, т.к. enable-psremoting -force хоть команда и клаccная, но забубенивает сразу для обеих сетевух. Многие источники почитал и команды другие видел — не работали. А эта подошла, то что надо. Убил слухачей и создал только для одного айпишника. НО!! Синтаксис всё-таки я долго подбирал, для PS 5.0 ваш вариант даёт ошибку. Правильно будет winrm delete winrm/config/listener?Address=*+Transport=HTTP.

В Windows 2012R2 уже не работают :<