В этой статье мы рассмотрим, как централизованно с помощью групповых политик включить и настроить на компьютерах домена службу Windows Remote Management (WinRM), позволяющую управлять удаленными рабочими станциями и серверами Windows через PowerShell Remoting (PSRemoting).
PowerShell Remoting позволяет удалённо подключаться к хостам Windows для запуска скриптов или отдельных PowerShell команд, включая полноценные интерактивные сессии. Это важный инструмент удаленного управления компьютерам, используемый системными администраторами и некоторым системным ПО.
Как вручную включить службу WinRM и PSRemoting в Windows?
Служба WinRM доступна всех версиях Windows, одна по умолчанию она включена только в серверных редакция (Windows Server) и отключена в десктопных версиях (Windows 10 и 11). Кроме того, в клиентских операционных системах отсутствует Windows слушатель службы WinRM listener и отключены правила Windows Firewall для доступа к сервису.
Проверить, включен ли WinRM на машине можно одной из следующих команд:
Test-WSMan
Или
WinRM enumerate winrm/config/listener
Появится ошибка, которая говорит, что служба WinRM не настроена:
WSManFault Message = The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig". Error number: -2144108526 0x80338012

Чтобы быстро включить службу WinRM в Windows, достаточно выполнить команду:
winrm quickconfig
или
Enable-PSRemoting –Force
WinRM has been updated to receive requests. WinRM service type changed successfully. WinRM service started.

Эта команда выполнит следующие действия:
- Запустит службу WinRM и изменит тип запуска на автоматический
- Создаст WinRM HTTP слушатель на хосте
- Разрешит входящие подключения по WinRM (TCP порты 5985 и 5986) в Windows Firewall
После этого удаленные пользователей могут подключаться к данному компьютеру через инструменты WinRM и использовать возможности удаленного управления через PowerShell Remoting.
Включаем WinRM и PSRemoting на компьютерах с помощью GPO
С помощью групповых политик вы можете автоматизировать включение и настройку службы WinRM на компьютерах и серверах домена. Так намного удобнее разрешить удаленный доступ через PSRemoting к управляемым компьютерам, чем вручную выполнять команды настройки WinRM на каждом компьютере.
- Откройте консоль редактора Group Policy Management Console (
gpmc.msc), выберите контейнер с компьютерами на которых вы хотите включить WinRM и создайте новую политику corpEnableWinRM;
- Откройте политику на редактирование;
- Перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> System Services. Найдите службу Windows Remote Service (WS-Management) и настройте ее на автоматический запуск;

- Теперь перейдите в раздел Computer Policies -> Preferences -> Control Panel Settings -> Services и выберите New -> Service. Укажите имя службы WinRM. Настройте следующие параметры
Startup: No change
Service action: Start service
На вкладке Recovery задайте настройки автоматического перезапуска службы при падении:
First failure: Restart
Second failure: Restart
Subsequent failures: Restart
Restart service after: 1 минута
- Перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Remote Management (WinRM) -> WinRM Service. Включите параметр Allow remote server management through WinRM. В полях IPv4 и IPv6 фильтров можно указать подсети IP, на которых будет разрешено слушать WinRM listener (по сути, разрешенные IP, на которых будут создаваться слушатели на машинах). Если вы хотите разрешать принимать WinRM подключения на всех IP адресах (интерфейсах), оставьте здесь
*. Если оставить поле в IPv6 пустым, это запретит подключение через IPv6 интерфейсы
- Дополнительно в этом разделе GPO можно настроить следующие параметры безопасности:
Allow unencrypted traffic: Disabled
Disallow Kerberos authentication: Disabled
Disallow Negotiate authentication: Disabled
Disallow WinRM from storing RunAs credentials: Enabled
Turn On Compatibility HTTP Listener: Disabled
Turn On Compatibility HTTPS Listener: Disabled

- Теперь нужно открыть правила в Windows Defender Firewall правила, разрешающие подключаться к WinRM по стандартным портам 5985 и 5986. Перейдите в Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Windows Firewall with Advanced Security -> Windows Firewall with Advanced Security -> Inbound Rules. Выберите predefined rule Windows Remote Management. Укажите, что нужно разрешить входящее подключения по WinRM только для профилей Domain и Private сетей, но отключите для Public (подробнее о типах сетевых профилей в Windows).
- Для дополнительной безопасности можно ограничить диапазон IP адресов, с которых компьютеры могут принимать подключения к WinRM, например локальной подсетью. Для этого откройте свойства правила файервола и на вкладке Scope добавить разрешенные IP и/или подсети.

- Перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Remote Shell и включите параметр Allow Remote Shell Access.

- Если вы планируете запускать через WinRM готовые PowerShell скрипты, нужно изменить настройки политики выполнения скриптов PowerShell: Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows PowerShell Включите политику Turn on Script Execution и выберите режим Allow local scripts and remote signed scripts. Это позволит запускать PS1 скрипты (по умолчанию запуск скриптов запрещен).

Обновите настройки GPO на клиентских компьютерах и проверьте, что служба WinRM настроена автоматически. Для диагностики применения групповой политики на клиенте можно использовать утилиту gpresult.
Проверка настроек WinRM на клиентах
Чтобы проверить, что настройки WinRM на компьютере заданы через групповые политики, выполните команду:
winrm e winrm/config/listener
Команда выведет текущие настройки WinRM листенера. Обратите внимание на строку
Listener [Source="GPO"]
. Она означает, что настройки получены через групповые политики.

Полную конфигурацию службы WinRM можно вывести с помощью команды:
winrm get winrm/config
Теперь нужно попробовать удаленно подключиться к компьютеру через WinRM. Запустите на удаленном компьютере консоль PowerShell с учетной записью с правами администратора на обоих компьютерах и выполните команду:
Test-WsMan YourCompName1
Если WinRM включен, появится такой ответ:
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd ProductVendor : Microsoft Corporation ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0

Test-NetConnection -ComputerName YourCompName1 -Port 5985
Теперь можно попробовать выполнить интерактивное подключение к удаленному компьютеру через PSRemoting с помощью командлета Enter-PSSession:
Enter-PSSession CompNameHere1

В данном случае подключение было успешно установлено и перед вами открылась консоль удаленного сервера.
По аналогии через PSRemoting на удаленном компьютере команду можно выполнить произвольную команду с помощью Invoke-Command:
Invoke-Command -ComputerName YourCompName1 -ScriptBlock {ipconfig /all}
Если соединение работает, вы увидите на экране вывод команды
ipconfig
.
Также можно выполнить команду на удаленном хосте так:
winrs -r:wsk-w10BO1 dir
В некоторых случаях при подключении через PSSession может появится ошибка:
Enter-PSSession : Connecting to remote server wsk-w10BO1 failed with the following error message : Access is denied. CategoryInfo : InvalidArgument: (wsk-w10BO1:String) [Enter-PSSession], PSRemotingTransportException FullyQualifiedErrorId : CreateRemoteRunspaceFailed
В этом случае проверьте настройки разрешения для подключения к WinRM на удаленном компьютере:
Set-PSSessionConfiguration -ShowSecurityDescriptorUI -Name Microsoft.PowerShell
Убедитесь, что ваша учетная запись входит в группу Administrators или Remote Management Users (см. статью об удаленном доступе через WinRM без прав администратора) и им предоставлены права FullControl. Также проверьте, нет ли Deny правил.



Ребят.. а подскажите.. вот поставил AD на 2012 R2.. хочу поднять сервертерминалов.. начинаю ставить через «добавить роли — установка служб удаленных рабочих столов» — и потом вот такая вот ошибка…
делаю все вот по этому мануалу..
http://social.technet.microsoft.com/wiki/ru-ru/contents/articles/20400.windows-server-2012-r2.aspx
>>В разделе IPv4 filter укажем *, что означает, что компьютер может принимать подключения (а значит и >>управляющие команды) откуда угодно.
Параметр отвечает за адреса НА которых данный ПК создаст RM-листенеры.
Поправьте в статье, пожалуйста.
Да, вы правы — внес изменения в статью. Спасибо!
Можно включить WinRM удаленно скриптом PowerShell:
_https://www.alkanesolutions.co.uk/2021/08/04/enable-windows-remote-management-winrm-on-remote-devices/
добрый день, а как выглядит скрипт, чтобы выключить службу?
Идит по ссылке, там все описано
еще бы добавить исключение в фаервол заодно
Computer Policies -> Preferences -> Control Panel Settings -> Services это где находиться?
Конфигурация компьютера → Настройка → Параметры панели управления → Службы