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

Сегодня трудно представить администрирование серверов и компьютеров без инструмента PowerShell.

Для простых ежедневных задач можно создать удаленное подключение сессии PowerShell (PowerShell Remoting) и выполнить команды или скрипты на удаленном компьютере.

PowerShell Remoting основан на протоколе Web Services for Management (WS-Management) и службы Windows Remote Management (WinRM). Связь между компьютерами идет по HTTP (по умолчанию порт 5985) или HTTPS (если настроить, порт 443 или 5985).

Настроим групповые политики для разрешения удаленного подключения сессии PowerShell:

Policies > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Service > Allow Remote Server management through WinRM

Политику - Enabled;
Фильтры IPv4 и IPv6 на * , или указать конкретные адреса и диапазоны.

До Server 2008 R2 политика называлась — Open the Allow automatic configuration of listeners policy setting.

Установка правил брандмауэра

Policies > Administrative Templates > Network > Network Connections > Windows Firewall > Domain Profile > Windows Defender Firewall:Define inbound port exceptions

Политику - Enabled;
Настройка - Show > Значение правила - 5985:TCP:*:enabled:WSMan

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

Enter-PSSession -ComputerName Сomp-09
Restart-Service -Name ServiceName
Или
Enter-PSSession Сomp-09
Stop-Computer

Много интересного про WinRM — https://docs.microsoft.com/en-us/windows/win32/winrm/portal
Про Enter-PSSession — https://docs.microsoft.com/en-us/PowerShell/module/microsoft.PowerShell.core/enter-pssession?view=powershell-6

Top