Windows remote management pack

Прочитано: 11 634

Я опишу процесс, каким образом можно централизованно активировать и настроить службу Windows Remote Management (WinRM) на всех целевых компьютерах с помощью Group Security Policy. Windows Remote Management – это специальный сервис, позволяющий администраторам получить возможность удаленного доступа и управления клиентскими и серверными ОС Windows.

Возьмем обычный ПК с  Windows 7, который включен в домен, и на котором не активирована функция Windows Remote Management. В командной строке введем следующую команду:

Запустим командную строку с правами администратора.

WinRM enumerate winrm/config/listener

Проверяем установлен ли wrm на рабочей станции.

, должно появиться следующее сообщение об ошибке, свидетельствующее о том, что WRM не установлен:

WSMan Fault. The client cannot connect to the destination specified in the request. Error number: – 2144108526 0?80338012

Если нужно настроить  WinRM  вручную на отдельной системе, достаточно набрать команду:

winrm quickconfig

Настраиваем подключение.

Это я рассмотрел вариант установки на единичную рабочую станцию.

В том случае, если нужно настроить WinRM на группе компьютеров, то можно воспользоваться специальными параметрами групповой политики.  Создадим групповую политику на контейнер где располагаются рабочие станции. Конфигурация компьютера ПолитикиАдминистративные шаблоны -> Компоненты WindowsУдаленное управление Windows.  Активируем следующие параметры:

•    Клиент службы удаленного управления Windows.

•    Служба удаленного управления Windows

Редактируем созданную групповую политику.

В разделе IPv4 filter укажем *, что означает, что компьютер может принимать подключения (а значит и управляющие команды) откуда угодно.

Далее в разделе Конфигурация компьютераПолитикиАдминистративные шаблоныКомпоненты WindowsУдаленная оболочка Windows

Активируем пункт:

Разрешить доступ к удаленной оболочке – Включена

Разрешаем доступ к удаленной оболочке.

Управлять способом запуска служб можно из следующего раздела групповых политик: Конфигурация компьютера – Политики –  Конфигурация Windows – Параметры безопасности – Системные службы.

Настраиваем запуск службы.

Открыть службу «Служба удаленного управления Windows (WM-Management) и произвести настройки ниже, см. скриншот.

Выставляем тип запуск автоматически.

Все готово. Перезагружаем рабочую станцию и после активации WinRM с помощью групповой политики, на клиентской системе проверим статус службы с помощью знакомой команды:

WinRM enumerate winrm/config/listener

Проверяем статус примененной политики.

Удостоверимся, что тип запуска службы WinRM  задан в автоматический . Хотя по факту тип запуска «автоматический с задержкой», т.к. по умолчанию для службы WinRM  задана задержка запуска (параметр  DelayedAutoStart=1 в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinRM ).

Проверяем статус службы.

После применения групповой политики, данной системой можно управлять удаленно с помощью команд WinRS. Следующая команда откроет командную строку, запущенную на удаленной системе:

winrs –r:<имя_компьютера> cmd

После появления окна командной строки вы можете выполнять и видеть результат выполнения любых команд на удаленном компьютере, как будто бы вы работаете за ним локально. Отметим, что на вашем управляющем компьютере WinRM также должна быть активирована.

В моем случаем тестовая машина называется alektest4

winrs -r:alektest4 cmd

Пример подключения к удаленной рабочей станции посредством winrs.

В этой статье мы рассмотрим, как централизованно включить и настроить службу удаленного управления Windows Remote Management (WinRM) на компьютерах домена с помощью групповых политик. Напомню, что Windows Remote Management это реализация протокола WS-Management Protocol для удаленного управления клиентскими и серверными ОС Windows. WinRM позволяет удаленно управлять компьютерами через:

  • Server Manager (Windows Server);
  • PowerShell Remoting (PSSession);
  • Windows Admin Center.

Как включить WinRM в Windows вручную?

Служба WinRM установлена во всех современных версиях Windows. В Windows Server она включена по умолчанию, и отключена в десктопных редакциях Windows 11/10/8.1). По умолчанию слушатель службы WinRM listener не принимает подключения. Чтобы проверить это, выполните на клиенте команду:

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 в Windows, достаточно выполнить команду:

winrm quickconfig

или

Enable-PSRemoting –Force

WinRM has been updated to receive requests.
WinRM service type changed successfully.
WinRM service started.

Данная команда изменит тип запуска службы WinRM на автоматический, задаст стандартные настройки WinRM и добавить исключения для WinRM портов (5985 и 5986) в список исключений Windows Defender Firewall.

Настройка WinRM с помощью групповых политик

Вы можете автоматически включить и настроить WinRM на компьютерах домена с помощью групповых политик Windows.

  1. Откройте консоль редактора Group Policy Management Console (gpmc.msc), выберите контейнер с компьютерами на которых вы хотите включить WinRM и создайте новую политику corpEnableWinRM;
  2. Откройте политику на редактирование;
  3. Перейдите в раздел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> System Services. Найдите службу Windows Remote Service (WS-Management) и настройте ее на автоматический запуск;
    автоматический запуск службы winrm

  4. Теперь перейдите в раздел Computer Policies -> Preferences -> Control Panel Settings -> Services и выберите New -> Service. Укажите имя службы WinRM и на вкладке Recovery задайте действие Restart the Service;
    настройка перезапуска службы winrm

  5. Перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows Remote Management (WinRM) -> WinRM Service. Включите параметр Allow remote server management through WinRM. В поле фильтр IPv4/IPv6 можно указать IP адреса или подсети, на которых нужно слушать удаленные подключения через WinRM. Если вы хотите разрешать принимать WinRM подключения на всех IP адресах, оставьте здесь *;
    Allow remote server management through WinRM параметр для включения winrm

  6. Откройте в 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;
    открыть правила для windows remote mahagement HTTP in в Windows Firewall

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

Обновите настройки GPO на клиентах и проверьте, что служба WinRM настроилась автоматически. Для диагностики применения групповой политики на клиенте можно использовать утилиту gpresult.

Проверка настроек WinRM

Чтобы проверить, что настройки WinRM на компьютере заданы через групповые политики, выполните команду:

winrm e winrm/config/listener

Команда выведет текущие настройки WinRM листенера. Обратите внимание на строку
Listener [Source="GPO"]
. Она означает, что настройки получены через групповые политики.

winrm e winrm/config/listener просмотр настроек winrm, служба настроена через 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-WsMan проверка службы winrm по сети

Проверить доступность порта 5985 на удаленном компьютере можно так:

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 правил.

настройка прав для удаленного подключения через winrm

Для настройки WinRM и PSRemoting в рабочей группе (без домена AD) рекомендуем использовать эту инструкцию.

Содержание страницы

  • Первоначальная настройка
  • Удаление настроек
  • Исправление ошибок
    • Код события:10154 Источник: Microsoft-Windows-WinRM

Первоначальная настройка

Для включения и первоначальной настроики службы WinRM в Windows, есть несколько вариантов

  • CMD
winrm quickconfig
winrm e winrm/config/listener
  • PowerShell
Enable-PSRemoting –Force
Enable-WSManCredSSP -Role server –Force

Удаление настроек

Disable-PSRemoting -Force

Исправление ошибок

Код события:10154 Источник: Microsoft-Windows-WinRM

Event ID: 10154, Source: Microsoft-Windows-WinRM, Type: Warning

Службе WinRM не удалось создать следующие имена участников-служб: WSMAN/dc1.notdev.local, WSMAN/dc1
Дополнительные данные
Была получена ошибка “8344”: %%8344.

Проблема чаще всего возникает с серверами Hyper-V и AD DC, проблема существует очень давно и до сих пор не решена, либо MS не желает объяснять почему эту процедуру нужно выполнять самостоятельно либо просто игнорируют данную ошибку, которая редко когда мешает работе служб.

Исправить данную ошибку проще всего используя командную строку

dsacls "CN=DC1,OU=Domain Controllers,DC=notdev,DC=local" /G "S-1-5-20:WS;Validated write to service principal name"
dsacls "CN=DC2,OU=Domain Controllers,DC=notdev,DC=local" /G "S-1-5-20:WS;Validated write to service principal name"
dsacls "CN=HVS1,OU=Hyper-V,DC=notdev,DC=local" /G "S-1-5-20:WS;Validated write to service principal name"
dsacls "CN=HVS2,OU=Hyper-V,DC=notdev,DC=local" /G "S-1-5-20:WS;Validated write to service principal name"
dsacls "CN=HVS3,OU=Hyper-V,DC=notdev,DC=local" /G "S-1-5-20:WS;Validated write to service principal name"
dsacls "CN=HVS4,OU=Hyper-V,DC=notdev,DC=local" /G "S-1-5-20:WS;Validated write to service principal name"

CN=DC1,OU=Domain Controllers,DC=notdev,DC=local – путь до указанного сервера

S-1-5-20 – это учетная запись Сетевая служба /  NETWORK SERVICE

Validated write to service principal name /в русской локализации Удостоверенная запись на узел с именем участника службы или Удостоверенная запись на узел с именем субъекта-службы

Решение через графический интерфейс

Вариант через оснастку Редактирование ADSI (ADSIEDIT)

  • Запустите adsiedit.msc
  • Подключитесь к домену
  • Перейдите к DC=notdev,DC=local далее  OU=Domain Controllers и выберите узел CN=DC1
  • Щелкните правой кнопкой мыши CN=DC1, нажмите Свойства
  • Перейдите на вкладку Безопасность
  • Добавьте учетную запись сетевой службы NETWORK SERVICE
    • Затем установите флажок (X), чтобы разрешить доступ Validated write to service principal name, в русской локализации Удостоверенная запись на узел с именем участника службы или Удостоверенная запись на узел с именем субъекта-службы
    • Нажмите ОК
  • Перезапустите службу Удаленное управление Windows (WS-Management)
  • Проверьте журнал событий на наличие ошибок

Вариант через оснастку Active Directory Пользователи и Компьютеры (ADUC)

  • Запустите dsa.msc
  • Подключитесь к домену
  • Включите отображение дополнительных компонентов, Вид -> Дополнительные компоненты
  • Перейдите в OU=Domain Controllers и выберите узел DC1
  • Щелкните правой кнопкой мыши DC1, нажмите Свойства
  • Перейдите на вкладку Безопасность
  • Добавьте учетную запись сетевой службы NETWORK SERVICE
    • Затем установите флажок (X), чтобы разрешить доступ Validated write to service principal name, в русской локализации Удостоверенная запись на узел с именем участника службы или Удостоверенная запись на узел с именем субъекта-службы
    • Нажмите ОК
  • Перезапустите службу Удаленное управление Windows (WS-Management)
  • Проверьте журнал событий на наличие ошибок


Дополнительные материалы

  • Идентификаторы безопасности

Итак вышел Windows Management Framework для всех ОС, даже для XP.

Для меня там, кроме собственно, PowerShell 2.0, основное это WinRM. В приложении к PowerShell это просто способ выполнять команды на удалённом компе.

Вот как это сделать:
0. Поставить Windows Management Framework Core

1. Для конфигурирования winrm, на той машине, которая будет сервером:
1.1 зайти в cmd.exe (я пытался сделать это из-под ISE, но оно не работает с интерактивными консольными программами)
1.2 запустить winrm qc
1.3 ответить Y на вопрос об изменениях

2. Теперь можно в PowerShell ISE на клиентской машине нажать иконку с изображением терминала, набрать имя сервера и учетную запись, потом ввести пароль и работать с привычным ISE на удалённой машине.

А еще с помощью набора команд *-PSSession возможет такой сценарий. Зайти на удаленную машину, выполнить там длительную операцию, вернуться и сообщить пользователю, что всё сделано.

P.S. Boomburum переслал сообщение от анонимуса:

«Здравствуйте! Требуется помощь, т.к. сам способа решения не нашел ;)). В общем, проблема такая — не знаю как связаться с автором одного из топиков. (конкретно — habrahabr.ru/post/73613/). Данная статья подтолкнула меня на знакомство с сетевыми возможностями powershell. При настройке данной возможности на пк с Windows XP SP3 возникла проблема — выскочила ошибка следующего содержания:
**********************************************************************
PS C:\Documents and Settings\Administrator> winrm qc
WinRM is not set up to receive requests on this machine.
The following changes must be made:

Start the WinRM service.

Make these changes [y/n]? y

WinRM has been updated to receive requests.

WinRM service started.
WSManFault
Message = Access is denied.

Error number: -2147024891 0x80070005
Access is denied.
PS C:\Documents and Settings\Administrator>
**********************************************************************
Я долго-долго искал пути решения данной проблемы в Интернете, но всё никак — ничего путного найти не мог. В общем,
Для решения данной проблемы следует зайти в Пуск->Администрирование ->Локальная политика безопасности ( Local Security Settings — secpol.msc) -> Параметры безопасности (Security option) -> Ищем «Сетевой доступ: модель совместного доступа и безопасности для локальных учетных записей» (Network Access: Sharing and security model for local accounts) -> изменяем политику на «Обычная -…» (Classic -…) -> Перезагружаемся и всё — проблеме конец!

Огромная просьба, отправьте это сообщение автору данного топика, т.к. я не могу этого сделать самостоятельно. Пускай он это разместит, т.к. русскоязычной части населения сети Интернет это очень сильно упростит поиск решения данной проблемы. Проблема довольно широко распространена! Но мною была замечена только на Windows XP. (Все проверялось на виртуальной машине с чистой системой). Заранее огромно спасибо!»

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Присоединение к домену windows 10 что это
  • Как ускорить центр обновления windows
  • Что является корневым каталогом windows
  • How to print screen on windows 10
  • Как удалить контрольные вопросы в windows 10