Эффективное управление ИТ начинается с наличия правильных инструментов для контроля за системами и устройствами, независимо от их местонахождения. Windows Remote Management (WinRM) — это инструмент, который помогает ИТ-администраторам выполнять важные задачи, такие как устранение неполадок, настройка и автоматизация, без физического присутствия.
WinRM встроен в системы Windows, что делает его доступным и мощным вариантом для организаций по поддержанию своей ИТ-инфраструктуры. Обеспечивая безопасную связь и удаленные операции, он играет важную роль в повышении производительности ИТ-команд и обеспечении бесперебойной работы.
В этом блоге объясняются ключевые аспекты WinRM: от его функций и настройки до возникающих проблем.
Что такое удаленное управление Windows (WinRM)?
Windows Remote Management (WinRM) — это протокол на базе Windows, разработанный для упрощения удаленного управления и автоматизации. Он построен на протоколе WS-Management — общедоступном стандарте для удаленного обмена данными управления с любым компьютерным устройством, реализующим этот протокол.
Протокол WS-Management обеспечивает совместимость между устройствами и системами. Он полезен в сочетании с удаленным управлением PowerShell, что позволяет администраторам управлять несколькими устройствами с помощью скриптов и команд.
Цель WinRM
WinRM обеспечивает связь между устройствами, позволяя администраторам взаимодействовать с удаленными системами, удаленно выполнять команды, извлекать данные и управлять конфигурациями системы. Он широко используется для таких задач, как устранение неполадок, развертывание программного обеспечения и мониторинг производительности.
Совместимость
WinRM изначально поддерживается в операционных системах Windows и оптимизирован для управления серверами и рабочими станциями Windows. Хотя его можно расширить для управления не-Windows-устройствами, его функциональность наиболее эффективна в средах Windows.
Почему важен протокол WinRM?
Протокол WinRM играет решающую роль в установлении удаленных соединений между компьютерами или серверами, обеспечивая бесперебойные удаленные операции. Он позволяет администраторам получать доступ к данным и управлять ресурсами на удаленных машинах так же легко, как и на локальных компьютерах.
Использование WinRM для подключения к удаленному компьютеру в сценарии удаленного управления Windows очень похоже на создание локального подключения. WinRM предназначен для улучшения управления оборудованием в различных сетевых средах.
WinRM — это инструмент командной строки, встроенный в операционные системы Windows, который использует .NET и PowerShell. Это позволяет выполнять удаленные команды и скрипты PowerShell как на отдельных машинах Windows, так и на больших наборах удаленных систем без необходимости использования RDP или прямого входа.
WinRM упрощает административные задачи, обеспечивая удаленное управление с помощью скриптов и командлетов, что упрощает администраторам Windows следующие задачи:
- Удаленный мониторинг, управление и настройка серверов, операционных систем и клиентских машин.
- Общайтесь и взаимодействуйте с хостами по всей сети, включая рабочие станции, серверы и любые операционные системы, поддерживающие WinRM.
- Выполнять команды в системах, доступных через сеть, без физического присутствия.
Основные компоненты удаленного управления Windows (WinRM)
Основа WinRM основана на следующих основных компонентах. Эти компоненты работают вместе, чтобы обеспечить удаленное управление системами Windows, облегчить задачи автоматизации и обеспечить безопасное удаленное выполнение команд.
1. Служба WinRM (winrm.exe)
Это основная служба, которая работает на устройствах Windows, позволяя им принимать и отвечать на запросы удаленного управления. Она прослушивает входящие запросы на определенных портах (по умолчанию 5985 для HTTP и 5986 для HTTPS).
2. Прослушиватель WinRM
Прослушиватель отвечает за прием и обработку входящих запросов на удаленное управление. Он прослушивает указанный сетевой порт (5985 для HTTP или 5986 для HTTPS). Каждый прослушиватель привязан к определенному сетевому интерфейсу и протоколу.
3. Инструмент командной строки WinRM (winrm.exe)
Это утилита командной строки, используемая для настройки и управления службой WinRM. Она позволяет администраторам запускать, останавливать или настраивать прослушиватели WinRM, устанавливать политики аутентификации и устранять неполадки в настройках WinRM.
4. Протокол WS-Man (веб-сервисы для управления)
Windows Remote Management основан на протоколе WS-Man, который является стандартом для веб-служб, используемых для управления устройствами. Он позволяет обмениваться данными управления независимо от платформы, обеспечивая связь между компьютерами, устройствами и приложениями независимо от операционных систем.
5. Удаленное взаимодействие PowerShell
PowerShell Remoting построен на WinRM и позволяет администраторам выполнять команды PowerShell на удаленных системах. Он обеспечивает безопасный канал для удаленного выполнения скриптов и команд как на Windows, так и на не-Windows системах (с помощью сторонних инструментов).
6. Аутентификация и шифрование
WinRM поддерживает несколько механизмов аутентификации, включая базовую аутентификацию, Kerberos и NTLM. Он также поддерживает шифрование для безопасного обмена данными между клиентом и сервером, гарантируя защиту конфиденциальных данных во время процесса удаленного управления.
7. Правила брандмауэра
Для правильной работы WinRM необходимо настроить необходимые правила брандмауэра. По умолчанию брандмауэр Windows может блокировать трафик WinRM, поэтому администраторам необходимо разрешить входящий трафик на портах 5985 и 5986 для обеспечения подключения.
Как работает WinRM?
Процесс взаимодействия между клиентом и сервером через удаленное управление Windows обычно состоит из следующих этапов:
Этап 1 — Клиент инициирует запрос: процесс начинается, когда клиент WinRM (например, скрипт PowerShell) отправляет запрос на сервер WinRM. Этот запрос может включать выполнение команды или получение системной информации.
Этап 2 — Аутентификация и авторизация: Сервер должен аутентифицировать клиента перед выполнением любого действия. WinRM поддерживает несколько механизмов аутентификации, включая:
- Согласование аутентификации (Kerberos или NTLM)
- Базовая аутентификация (учетные данные отправляются в виде обычного текста)
- Аутентификация на основе сертификатов (с использованием SSL-сертификатов)
После аутентификации сервер проверяет, есть ли у клиента соответствующие разрешения для выполнения запрошенного действия.
Этап 3 — Обмен данными: Клиент отправляет фактическую команду или запрос после успешной аутентификации. Сервер WinRM обрабатывает этот запрос и возвращает результаты. Данные передаются в формате XML, который понимают как клиент, так и сервер.
Этап 4 — Выполнение команд: Если запрос включает выполнение команды, сервер выполнит команду на удаленной машине. Это может включать вызов скрипта, сбор системной информации или изменение конфигураций.
Этап 5 — Response Sent Back: После завершения задачи сервер отправляет ответ обратно клиенту с результатом операции. Это может включать стандартный вывод выполненных команд, коды ошибок или подтверждение внесенных изменений.
Варианты использования WinRM
1. Удаленное выполнение команд: Системные администраторы могут запускать команды на нескольких удаленных машинах одновременно, что снижает необходимость в физическом доступе.
2. Автоматизированное написание сценариев: WinRM обычно используется в скриптах для автоматизации задач на нескольких компьютерах, таких как установка программного обеспечения, обновления или настройка системы.
3. Управление серверными фермами: WinRM необходим для управления большим количеством серверов в центрах обработки данных, делая управление серверами более эффективным.
4. Аудит безопасности: WinRM можно использовать для сбора данных в целях аудита, например, для проверки системных журналов или просмотра параметров конфигурации.
Преимущества удаленного управления Windows (WinRM)
Удаленное управление Windows (WinRM) обеспечивает ряд существенных преимуществ для ИТ-операций, повышая эффективность, диагностику, экономичность и масштабируемость, особенно в корпоративных средах.
1. Повышенная эффективность
WinRM обеспечивает удаленный доступ к системам, устраняя необходимость в устранении неполадок на месте. Это позволяет ИТ-отделам быстро решать проблемы, сокращая время простоя устройств.
2. Лучшая диагностика
Благодаря подробным возможностям регистрации и мониторинга WinRM помогает быстрее выявлять и решать проблемы. Диагностика в реальном времени минимизирует время простоя, предоставляя ИТ-отделам информацию, необходимую для эффективного устранения неполадок из любого места.
3. Экономически эффективным
WinRM является экономически эффективным решением, сокращая расходы на поездки и оборудование. Удаленная диагностика неисправностей позволяет ИТ-персоналу обрабатывать больше систем с меньшими ресурсами, что сокращает эксплуатационные расходы.
4. Масштабируемость для предприятий
WinRM обладает высокой масштабируемостью, что делает его идеальным для корпоративных сред. Он может управлять несколькими системами в сетях, позволяя ИТ-отделам эффективно контролировать и обслуживать большие распределенные инфраструктуры.
Проблемы использования удаленного управления Windows (WinRM)
1. Сложная конфигурация
Настройка WinRM может быть сложной, поскольку она включает в себя настройку правил брандмауэра, включение службы как на локальных, так и на удаленных машинах и обеспечение надлежащих механизмов аутентификации. Эта сложность может стать проблемой для администраторов, у которых нет опыта работы с инструментами удаленного управления, что приводит к ошибкам конфигурации или задержкам в развертывании.
2. Вопросы безопасности
WinRM представляет потенциальные риски безопасности, если не настроен должным образом. Слабые настройки шифрования, неправильная аутентификация или открытые порты могут подвергнуть систему киберугрозам. В ноябре 2024 года Microsoft устранила критические уязвимости в системах Windows, включая те, которые связаны с NTLM и планировщиком заданий. Хотя не все они были напрямую связаны с WinRM, они подчеркивают проблему небезопасных служб удаленного управления.
3. Ограниченная совместимость
WinRM оптимизирован для управления средами Windows, что означает, что он менее эффективен в гетерогенных ИТ-экосистемах, где используются macOS, Linux или мобильные устройства. Хотя существуют обходные пути, такие как использование удаленного PowerShell, они часто добавляют сложности и по-прежнему не полностью решают кросс-платформенное управление, что ограничивает область применения утилиты WinRM.
4. Расходы на устранение неполадок
При возникновении проблем сообщения об ошибках WinRM могут быть неопределенными и сложными для понимания, требуя технических знаний для устранения неполадок. Неправильные конфигурации, сетевые проблемы или сбои аутентификации часто имеют неясные симптомы, что затрудняет администраторам быструю диагностику и устранение проблем. Это увеличивает время и усилия, необходимые для устранения неполадок.
5. Проблемы масштабируемости
В более крупных средах с разнообразными конечными точками или гибридными экосистемами WinRM может столкнуться с проблемами производительности. Управление сотнями или тысячами устройств может привести к замедлению времени выполнения, более высокому потреблению ресурсов и трудностям в координации задач удаленного управления в различных системах. В результате WinRM может не масштабироваться эффективно в крупных многоплатформенных средах.
Scalefusion UEM как лучшая альтернатива — почему?
Хотя Windows Remote Management (WinRM) служит надежным инструментом для управления средами на базе Windows, современные ИТ-технологии требуют более универсальных, масштабируемых и кроссплатформенных решений.
Именно здесь в игру вступает Scalefusion UEM как превосходная альтернатива для управления разнообразными устройствами и операционными системами, а также для решения некоторых ключевых проблем, с которыми сталкивается WinRM.
1. Кроссплатформенная совместимость
Одним из самых существенных недостатков WinRM является его ограниченная область применения при управлении не-Windows-устройствами. Хотя его можно расширить на некоторые не-Windows-системы с помощью сторонних решений, настройка и управление могут быстро стать громоздкими.
Scalefusion UEM, с другой стороны, предназначен для управления всеми конечными точками, включая Windows, macOS iOS, Android, Linux и ChromeOS с одной платформы. Это делает его гораздо более универсальным решением, особенно в организациях с гетерогенной ИТ-экосистемой.
2. Упрощенная настройка и управление
Настройка WinRM требует сложной конфигурации, включая настройки брандмауэра, активацию службы и обеспечение правильных настроек аутентификации. Эта сложность может привести к ошибкам, задержкам или уязвимостям безопасности.
Scalefusion UEM упрощает настройку и предоставляет централизованный и логически организованный интерфейс для управления устройствами, пользователями и политиками. Администраторы могут настраивать политики в одном профиле устройства и применять их к устройствам оптом, что делает управление более эффективным и безошибочным.
3. Повышенная безопасность
Безопасность WinRM во многом зависит от правильной настройки, обеспечивающей безопасную связь и контроль доступа, что может быть связано с человеческими ошибками.
В отличие от этого, Scalefusion UEM предоставляет расширенные функции безопасности, такие как управление приложениями, настройка шифрования BitLocker, Управление обновлениями и исправлениями ОС, управление браузером, отслеживание местоположения и Geofencing. Он также обеспечивает интеграцию с решениями IAM, такими как OneIdP, и решениями безопасности конечных точек, такими как Veltar. Эти функции гарантируют, что конфиденциальные корпоративные данные и устройства остаются в безопасности на всех устройствах, снижая риск несанкционированного доступа и утечки данных.
4. Масштабируемость для современных предприятий
WinRM изначально был разработан для управления системами на базе Windows, и в результате он может испытывать трудности с масштабированием в больших, разнообразных средах. По мере роста организаций и внедрения различных типов устройств производительность WinRM может снижаться, особенно при управлении тысячами конечных точек в нескольких операционных системах.
Однако Scalefusion UEM создан для масштабирования, позволяя ИТ-отделам эффективно управлять большим количеством устройств, независимо от операционной системы. Эта масштабируемость имеет решающее значение для организаций, желающих расширить свой парк устройств или поддержать удаленную работу.
5. Эффективное устранение неполадок и удаленная поддержка
Сообщения об ошибках WinRM могут быть зашифрованными, требующими высокого уровня технической экспертизы для диагностики и решения проблем. Это может замедлить время отклика и увеличить операционные издержки.
Scalefusion UEM, с другой стороны, предлагает мощные удаленное устранение неполадок Возможности, такие как удаленная трансляция и управление, вызовы VoIP, передача файлов и подробная информация об устройстве, все в удобном интерфейсе. ИТ-отделы могут быстро выявлять и устранять проблемы с устройством, минимизируя время простоя и повышая общую производительность.
6. Перспективное управление ИТ
Поскольку компании продолжают внедрять новые технологии, Scalefusion UEM предлагает перспективное решение, обеспечивая постоянную поддержку новых устройств и платформ. В отличие от WinRM, который привязан к системам Windows и требует дополнительных настроек для других платформ, Scalefusion UEM изначально разработан для поддержки широкого спектра устройств и технологий. Это делает Scalefusion UEM идеальным выбором для организаций, стремящихся оставаться гибкими и готовыми к будущему в мире все более цифровых технологий.
Вам нужна защищенная и полностью управляемая экосистема Windows?
Здесь ваш поиск заканчивается. Scalefusion UEM для Windows, вы получаете доступ к современным функциям управления, которые делают удаленное управление устройствами более эффективным и быстрым. От управления приложениями до исправления сервера — мы вас обеспечим. Сосредоточьтесь на самом важном — вашем бизнесе — и позвольте нам заняться всем остальным. Управляйте умнее, защищайте лучше и развивайтесь быстрее с ScalefusionUEM!
Свяжитесь с нашими экспертами по продуктам и закажите демонстрацию, чтобы узнать больше о том, как Scalefusion UEM может преобразовать ваше управление конечными точками. Принять участие 14-дневная бесплатная пробная версия Cегодня!
From Wikipedia, the free encyclopedia
Developer(s) | Microsoft |
---|---|
Operating system | Microsoft Windows |
Type | Application programming interface |
License | Proprietary commercial software |
Website | docs |
Windows Remote Management (WinRM) is the Microsoft implementation of the DMTF-standard WS-Management. It allows accessing or exchanging management information across a common network. Utilizing scripting objects or the built-in command-line tool, WinRM can be used with any remote computers that may have baseboard management controllers (BMCs) to acquire data. On Windows-based computers including WinRM, certain data supplied by Windows Management Instrumentation (WMI) can also be obtained.[1]
winrs
Developer(s) | Microsoft |
---|---|
Operating system | Microsoft Windows |
Type | Command |
License | Proprietary commercial software |
Website | docs |
- WinRM Scripting API: Provides an Application programming interface enabling scripts to remotely acquire data from computers that perform WS-Management operations.
- winrm.cmd: Built-in systems management command line tool allowing a machine operator to configure WinRM. Implementation consists of a Visual Basic Scripting (VBS) Edition file (Winrm.vbs) which is written using the aforementioned WinRM scripting API.
- winrs.exe: Another command line tool allowing the remote execution of most Cmd.exe commands. This tool utilizes the WS-Management protocol.
- Intelligent Platform Management Interface (IPMI) driver: Provides hardware management and facilitates control of remote server hardware through BMCs. IPMI is most useful when the operating system is not running or deployed as it allows for continued remote operations of the bare metal hardware/software.
- WMI plug-in: Allows WMI data to be made available to WinRM clients.[2]
- WMI service: Leverages the WMI plug-in to provide requested data or control and can also be used to acquire data from most WMI classes. Examples include the Win32_Process, in addition to any IPMI-supplied data.
- WS-Management protocol: Web Services Management is a DMTF open standard defining a SOAP-based protocol for the management of servers, devices, applications and various Web services. WS-Management provides a common way for systems to access and exchange management information across the IT infrastructure.[3]
- Ports: By default WinRM HTTPS used 5986 port, and HTTP uses 5985 port. By default, port 5985 is in listening mode, but port 5986 has to be enabled.
Ansible communicates with Windows servers over WinRM using the Python pywinrm package and can remotely run PowerShell scripts and commands.[4]
Thycotic’s Secret Server also leverages WinRM to enable PowerShell remoting.[5]
SolarWinds Server and Application Monitoring software (SAM) utilizes a WinRM server on monitored servers for its PowerShell integration.[6]
CloudBolt leverages WinRM as part of Blueprints, Server Actions, and CB Plugins to execute remote scripts on Windows servers using the python pywinrm module.[7]
WinRM uses Kerberos for initial authentication by default. This ensures that actual credentials are never sent in client-server communications, instead relying on features such as hashing and tickets to connect.[8] Although WinRM listeners can be configured to encrypt all communications using HTTPS, with the use of Kerberos, even if unencrypted HTTP is used, all communication is still encrypted using a symmetric 256-bit key after the authentication phase completes. Using HTTPS with WinRM allows for additional security by ensuring server identity via SSL/TLS certificates thereby preventing an attacker from impersonating it.[9]
- ^ windows-sdk-content. «Windows Remote Management — Windows applications». docs.microsoft.com. Retrieved 2019-02-21.
- ^ windows-sdk-content. «Windows Remote Management Glossary — Windows applications». docs.microsoft.com. Retrieved 2019-02-21.
- ^ windows-sdk-content. «About Windows Remote Management — Windows applications». docs.microsoft.com. Retrieved 2019-02-21.
- ^ «Windows Remote Management — Ansible Documentation». docs.ansible.com. Retrieved 2019-02-21.
- ^ «Thycotic Support». thycotic.force.com. Retrieved 2019-02-21.
- ^ «Create a WinRM HTTPS listener». SolarWinds Worldwide, LLC. Help and Support. 2016-03-24. Retrieved 2019-02-24.
- ^ «Remote Scripts — CloudBolt 8.7 Documentation». docs.cloudbolt.io. Retrieved 2019-06-04.
- ^ «How To: Configure WINRM for HTTPS». support.microsoft.com. Retrieved 2019-02-24.
- ^ FoxDeploy (2017-02-08). «Is WinRM Secure or do I need HTTPs?». FoxDeploy.com. Retrieved 2019-02-24.
- Windows Remote Management — Windows applications | Microsoft Docs
Прочитано: 11 639
Я опишу процесс, каким образом можно централизованно активировать и настроить службу Windows Remote Management (WinRM) на всех целевых компьютерах с помощью Group Security Policy. Windows Remote Management – это специальный сервис, позволяющий администраторам получить возможность удаленного доступа и управления клиентскими и серверными ОС Windows.
Возьмем обычный ПК с Windows 7, который включен в домен, и на котором не активирована функция Windows Remote Management. В командной строке введем следующую команду:
Запустим командную строку с правами администратора.
WinRM enumerate winrm/config/listener
, должно появиться следующее сообщение об ошибке, свидетельствующее о том, что 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
В этой статье мы рассмотрим, как централизованно включить и настроить службу удаленного управления 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 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.
- Откройте консоль редактора 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 и на вкладке Recovery задайте действие Restart the Service;
- Перейдите в раздел 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 адресах, оставьте здесь *;
- Откройте в 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;
- Перейдите в раздел Computer Configuration -> Policies -> Windows Components -> Windows Remote Shell и включите параметр Allow Remote Shell Access.
Обновите настройки 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
Проверить доступность порта 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 и PSRemoting в рабочей группе (без домена AD) рекомендуем использовать эту инструкцию.
Windows Remote Management, or WinRM, is a Windows-native built-in remote management protocol in its simplest form that uses Simple Object Access Protocol to interface with remote computers and servers, as well as Operating Systems and applications.
WinRM is a command-line tool that is used for the following tasks:
- Remotely communicate and interface with hosts through readily available channels/ports within your network, including workstations, servers and any operating system that supports it.
- Execute commands remotely on systems that you are not local to you but are network accessible
- Monitor, manage and configure servers, operating systems and client machines from a remote location.
History of WinRM
The earlier release, versions 1.1, was found in Windows Vista and Windows Server 2008, though could later be installed manually for Windows XP and Windows 2003.
A newer version, 2.0, can be found in Windows 7 and Windows Server 2008 R2, and the latest version of the software, 3.0, comes pre-installed out of the box in Windows 8 and Windows 2012 Server.
As for the latest windows installment, Windows 10, you’ll need to enable it as it does not come enabled by default.
It does require a little bit of setup and configuration, as it is not usually enabled and configured by default, but as it comes pre-installed and ready to go it’s a pretty simple process – do note that simple doesn’t always mean easy, unfortunately.
Configuring WinRM can sometimes be a breeze though it can sometimes be a bit of a hassle to get all the errors out of the way and get it sorted out just right.
Thankfully a great number of resources exist to aid in this part of the process and even several tools to help automate it!
Check out this great Tool below from Solarwinds that allows your to Remotely Enable WinRM on any PC or Server within your Network from your workstation.
A sort of sister process, Windows Remote Shell or WinRS, is the counterpart to WinRM. WinRS acts as the clients to WinRMs server component, providing the actual functionality and method of enacting commands and processes.
Most actual remote commands will be run via WinRS to a remote system with WinRM configured on it.
WinRM has several noteworthy benefits and strengths. As mentioned above, it’s built into the operating system, making installation and compatibility less of an issue.
It utilizes SOAP (Simple Object Access Protocol) requests in XML format, making it quite simple to work with.
Ports and Compatibility
WinRM Port is 5985 and 5986 (HTTPS)
In previous versions of WinRM, though, communications used to be done over port 80/443.
But since many server administrators take extra pre-cautions when locking down servers and desktop machines, blocking incoming traffic on Ports 80 and 443 was a given.
This was a problem for Powershell and WS-Management users as to why their connections where getting blocked and/or dropped while trying to manage systems remotely – thus leading Microsoft to change the default ports to the ones specified above, HTTP Port 5985 and HTTPS Port 5986 for WinRM connectivity.
If for some reason using the new port assignments are going to be a problem for your environment, and you would like configure systems to accept traffic on HTTP Port 80 and HTTPS Port 443, then this is where “Compatibility Listeners” come into play.
Compatibility Listeners cant be directly addressed, as other listeners are, but you can however allow traffic on these ports by either running a special command that configures the WinRM service to enable traffic on either port 80 or 443 like this:
winrm set winrm/config/service @{EnableCompatibilityHttpListener=”true”}
winrm set winrm/config/service @{EnableCompatibilityHttpsListener=”true”}
or applying a New Group Policy settings within this string:
Computer Configuration > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Service
and then set either of these keys to “YES”
“Turn On Compatibility HTTP Listener” (if you would like to allow WinRM over HTTP port 80)
“Turn On Compatibility HTTPS Listener” (if you would like to allow WinRM over HTTPS port 443)
You can find more info about compatilibity settings on the MSDN Blog post here
It is worth pointing out that WinRM/WinRS can be a little finnicky when it comes to user accounts and permissions – any long time Windows environment tech won’t be too surprised by this.
When dealing with remote management in a situation like this you have to be pretty sure your accounts and permissions are properly configured, and there’s several ways that you can set things up so that it works perfectly with WinRM.
It does introduce on potential flaw, but only in the case of particularly bad password and user account etiquette.
Generally speaking, though, the usual nuances apply here like with most Windows workgroup accounts and permissions.
If I am logged into an ‘Administrator’ account with a certain password and hit up WinRM on another system which has the exact same username and password combination, then I’m in with full permissions.
But with the basics of what WinRM is out of the way, it begs the obvious next question – what can it do? As the name intuitively implies it’s all about remote management.
Part of it’s strength lies in its ability to do far more than just manage workstations, though – WinRM can provide remote management to a range of devices, physical and soft, including applications, a wide range of different vendors’ hardware, operating systems (not just Windows!), and more.
Almost any range of commands can be performed remotely once setup and configured properly, which does become especially useful in the realm of managing workstations and servers on any Windows-based environment, as you can effortlessly start and stop processes, check configurations and system status, perform maintenance, install or remove services.. just about anything!
If there’s a command line process that you can run on a Windows system then it’s a sure bet you can use it via WinRM for remote management. There’s a lot of options for remote system management, but sometimes it’s best to just go with what’s built in and already more or less ready to go.
A little configuration and setup is all it takes and you’ll be well on your way to easy native remote management, as long as the initial configuration woes don’t get in the way.
Importance of WinRM
The Microsoft Windows ecosystem relies heavily on Windows Remote Management (WinRM), which enables remote management and administration of Windows-based devices or computers. Several crucial elements help us understand its significance:
WinRM has the ability to operate a variety of devices within its range, whether they are local or remote. The ability to manage workstations and the hardware connected to physical systems makes it a unique option.
Users can manage, monitor, configure servers, operating systems as well as client computers remotely without any hassle with WinRM.
Another crucial element to keep in mind is that the system’s configuration must be correctly set up with clearly defined ports. Due to this, the system is able to initiate and terminate any operations, determine its current state, and perform maintenance as and when the user requires it. WinRM’s utility can be used to install software as well as remove it. With the help of the ‘winRMquickconfig’ tool running in cmd, configuration is simple.
Running commands with WinRM becomes much easier if all the configurations and ports are managed properly. There are many different processes that can be used with WinRM, but it is usually preferable to utilize the built-in processes because they are generally simpler. Although initial configuration takes some time, it is beneficial to have it in order to speed up later laborious tasks. Also, installing WinRM does not require knowledge of WQL query, it is utilized for setup within the system.
Additionally, the system’s security is a default process because it never sends real credentials during network communications.
As long as the initial configuration issues don’t get in the way, a little configuration and setup will be enough to get you started on the path to simple native remote management.
Another key point to keep in mind is you can also utilize HTTPS along with WinRM to securely authenticate the servers. If SSL/TLS certificates are used to ensure the same, an additional layer of security is provided, preventing attackers from using or copying the system credentials.
WinRM makes use of a number of components, including scripting, cmd, plugins, services, and management protocol. As said before, WinRS serves as the system’s power source to guarantee the appropriate operation of all the servers and tools connected to the device. It uses an intelligent platform interface to manage the hardware with the aid of remote servers. IP interface is useful if the operating system is broken or if it must operate continuously in a remote location.
What are the Advantages of using WinRM?
WinRM is often used for administrative task automation, remote script execution, and administering numerous Windows machines remotely. There are several other benefits to using WinRM (Windows Remote Management), including:
- Port WinRM’s port is primarily advantageous. The port used by WinRM is crucial since the same port is also used for communication network security. As a result, WinRM’s security is not in any way affected. WinRM makes use of the port that firewalls leave open. Both remote connection and secure connection can use the same port. The complete operation of WinRM and network administration can be accomplished with a single port.
- Security To protect the communication between the administrator’s computer and the remote systems, WinRM offers encryption and authentication procedures as a top priority. This guarantees the privacy and accuracy of sensitive information and administrative directives.
- Remote Accessibility When managing geographically scattered systems, WinRM’s remote access and management capabilities are very helpful. As a result, less physical access to each machine is required, saving both time and money. Additionally, it enables the database to perform all system-related operations and administer all servers.
- Scripting and Automation Instead of exploring the shell, the WinRM solution immediately provides the shell scripts. This script aids in managing the system and, if necessary, additional hardware or software. It works well with PowerShell and other scripting languages. As a result, it is easier to automate repetitive tasks, enforce configuration requirements, and guarantee consistent system management.
- Cross-Platform Management WinRM is primarily built for Windows systems, but it may be expanded to handle non-Windows systems through configuration and scripting, fostering a more unified approach to system management.
WinRM FAQs
How does WinRM work?
WinRM allows for remote management of a Windows computer by sending management commands over HTTP or HTTPS. The commands are executed on the remote computer, and the results are returned to the client.
What are the benefits of using WinRM?
The benefits of using WinRM include the ability to remotely manage Windows computers, automate administrative tasks, and remotely execute scripts on remote computers.
Is WinRM secure?
WinRM can be secured using HTTPS, which encrypts the data being transmitted. However, it is important to properly secure the WinRM service, including setting strong authentication methods and using a trusted certificate for HTTPS.
How is WinRM different from Remote Desktop (RDP)?
WinRM is a protocol for remote management, while Remote Desktop (RDP) is a protocol for remote desktop access. WinRM allows for remote execution of management commands, while RDP provides a graphical interface for remote desktop access.
What are some common use cases for WinRM?
Common use cases for WinRM include remotely managing multiple Windows computers, automating administrative tasks, and executing scripts on remote computers.
How do I enable WinRM on a Windows computer?
To enable WinRM on a Windows computer, you can use the «winrm quickconfig» command in the Command Prompt or enable the WinRM service in the Services Manager.
How do I connect to a remote computer using WinRM?
To connect to a remote computer using WinRM, you can use a management tool such as Windows PowerShell or a third-party tool that supports WinRM. You will need to provide the remote computer’s hostname or IP address, and have the proper authentication credentials to connect.