Windows Server
powershell-remoting-winrm-setup

PowerShell Remoting: полное руководство по удалённому управлению через WinRM

ЕС
Евгений Семёнов
Генеральный директор ООО АйТи Фреш · 15+ лет в IT
25 марта 2026 ~11 минут ООО АйТи Фреш

Управлять серверами, подключаясь к каждому через RDP — это как ездить на работу на лошади в 2026 году. PowerShell Remoting через WinRM позволяет выполнять команды на десятках серверов одновременно, не покидая своего рабочего места. Наши инженеры в АйТи Фреш ежедневно используют этот инструмент для обслуживания инфраструктуры клиентов.

Случай из практики: Системный администратор одной торговой компании решил включить WinRM скриптом из интернета. Скрипт отключил аутентификацию Kerberos и включил Basic-аутентификацию с передачей паролей открытым текстом. Через неделю учётные записи утекли. Мы приехали на аварийный аудит и обнаружили компрометацию домена. Не копируйте скрипты вслепую!

Что такое PowerShell Remoting и зачем он нужен?

PowerShell Remoting — это технология удалённого выполнения команд на основе протокола WS-Management (WinRM). По сути, это SSH для Windows, но с объектно-ориентированной передачей данных вместо текста.

Как правильно включить WinRM на сервере?

# Проверяем статус WinRM
Get-Service WinRM

# Быстрая настройка (от администратора)
Enable-PSRemoting -Force

# Что делает Enable-PSRemoting:
# 1. Запускает службу WinRM
# 2. Ставит автозапуск
# 3. Создаёт HTTP listener на порту 5985
# 4. Создаёт правило в Windows Firewall
# 5. Регистрирует конфигурации сессий

Как настроить WinRM через групповые политики (GPO)?

В корпоративной среде WinRM настраивается централизованно через GPO:

# Путь в GPO:
# Computer Configuration -> Policies -> Administrative Templates ->
# Windows Components -> Windows Remote Management (WinRM) -> WinRM Service
# 1. Allow remote server management through WinRM
#    IPv4 filter: конкретные подсети администраторов
# 2. Windows Remote Management (WS-Management) -> Automatic
# 3. Windows Firewall -> Windows Remote Management rule
Совет от наших инженеров: Всегда ограничивайте IPv4-фильтр WinRM конкретными подсетями. Не ставьте * — это открывает WinRM для всей сети.

Как настроить HTTPS для WinRM (порт 5986)?

# Создаём самоподписанный сертификат
$cert = New-SelfSignedCertificate -DnsName "server.company.ru"   -CertStoreLocation Cert:\LocalMachine\My

# Создаём HTTPS listener
New-WSManInstance -ResourceURI winrm/config/Listener   -SelectorSet @{Transport="HTTPS"; Address="*"}   -ValueSet @{CertificateThumbprint=$cert.Thumbprint}

# Открываем порт
New-NetFirewallRule -Name "WinRM-HTTPS" -DisplayName "WinRM HTTPS"   -Enabled True -Direction Inbound -Protocol TCP -LocalPort 5986

Как выполнять команды на нескольких серверах одновременно?

$servers = "SRV-DC01", "SRV-DC02", "SRV-FILE01", "SRV-SQL01"

Invoke-Command -ComputerName $servers -ScriptBlock {
    [PSCustomObject]@{
        Server = $env:COMPUTERNAME
        Uptime = (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
        FreeRAM = [math]::Round((Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory / 1MB, 1)
        DiskFree = [math]::Round((Get-PSDrive C).Free / 1GB, 1)
    }
} | Format-Table -AutoSize

К нам обратился клиент, чей администратор тратил 2 часа каждое утро на проверку 25 серверов через RDP. Мы написали скрипт мониторинга — теперь проверка занимает 30 секунд.

Не рискуйте инфраструктурой

Доверьте настройку PowerShell Remoting профессионалам

Наши инженеры настроят всё быстро и надёжно. Более 15 лет опыта, работа с юрлицами, договор, SLA. Не тратьте время на эксперименты — звоните.

Как работает Just Enough Administration (JEA)?

JEA позволяет давать пользователям доступ к PowerShell Remoting с ограниченным набором команд:

# Создаём файл ролей
New-PSRoleCapabilityFile -Path "C:\JEA\HelpDesk.psrc"   -VisibleCmdlets "Restart-Service", "Get-Service", "Get-Process"

# Конфигурация сессии
New-PSSessionConfigurationFile -Path "C:\JEA\HelpDesk.pssc"   -SessionType RestrictedRemoteServer -RunAsVirtualAccount   -RoleDefinitions @{"COMPANY\HelpDesk" = @{RoleCapabilities = "HelpDesk"}}

# Регистрируем
Register-PSSessionConfiguration -Name "HelpDesk" -Path "C:\JEA\HelpDesk.pssc" -Force

Как использовать SSH вместо WinRM в PowerShell 7?

# Установка OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic

# Подключение через SSH
Enter-PSSession -HostName linux-srv01 -UserName admin -SSHTransport

Какие типичные ошибки при настройке WinRM?

Как решить проблему Double-Hop?

# Вариант 1: CredSSP
Enable-WSManCredSSP -Role Server -Force
Enable-WSManCredSSP -Role Client -DelegateComputer "srv-a.company.ru" -Force

# Вариант 2: Resource-Based Kerberos Delegation (рекомендуем)
Set-ADComputer -Identity "SRV-SQL01"   -PrincipalsAllowedToDelegateToAccount (Get-ADComputer "SRV-APP01")

Как мониторить и логировать PowerShell Remoting?

# GPO: Windows PowerShell
# 1. Turn on Module Logging -> *
# 2. Turn on PowerShell Script Block Logging -> Enable
# 3. Turn on PowerShell Transcription -> Enable

Get-WinEvent -LogName "Microsoft-Windows-WinRM/Operational" -MaxEvents 50

Когда обратиться к профессионалам?

Часто задаваемые вопросы

Что такое PowerShell Remoting?

PowerShell Remoting позволяет выполнять команды на удалённых серверах без графического интерфейса. Можно работать с десятками серверов одновременно.

Безопасен ли WinRM?

WinRM с Kerberos в домене безопасен. Не используйте Basic-аутентификацию и не ставьте TrustedHosts в *. Для внедоменных машин используйте HTTPS.

Какие порты использует WinRM?

HTTP — порт 5985, HTTPS — порт 5986. В домене по умолчанию HTTP с Kerberos-шифрованием.

Можно ли использовать Remoting для Linux?

Да, PowerShell 7 поддерживает Remoting через SSH. Установите OpenSSH и PowerShell 7 на Linux-сервер.

Что такое Double-Hop проблема?

Double-Hop — ограничение Kerberos при передаче учётных данных на второй удалённый сервер. Решается через CredSSP или Resource-Based Kerberos Delegation.

Нужна помощь специалистов?

ООО «АйТи Фреш» возьмёт это на себя

Не хватает времени или своих специалистов — мы настроим, оптимизируем и возьмём вашу IT-инфраструктуру на постоянное сопровождение. Работаем с юридическими лицами в Москве и регионах. Собственный дата-центр, команда из 8 серверов Dell Xeon Platinum 8280 на базе МТС.

15+лет опыта
25+клиентов
40Gсвоя сеть
24/7поддержка