Рубрики
Powershell

Не работает winrm

Документация:

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/enable-psremoting?view=powershell-7

Варианты решения:

Enable-PSRemoting - включение  winrm / удаленное управление с помощью powershell
winrm QuickConfig - подготовка компьютера к удаленному управлению.
Enable-PSRemoting -Force - подготовка компьютера к удаленному управлению.

Обычно достаточно просто запустить службу.
Set-Service -name winrm -status Running -StartupType Automatic - включить авто запуск сервиса winrm и запустить.

Enable-PSRemoting -SkipNetworkProfileCheck -Force - агрессивное включение
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any - добавляем разрешение в firewall windows для winrm

Runspace - окружения запуска приложения
Get-Help About_remote_FAQ - помощь по winrm
Get-Help About_remote_Requirements - помощь по winrm
Get-Help About_remote_Troubleshooting - помощь по winrm

WinRM реализация WS-managment для Windows http+https передача данных через XML
winrm s winrm/config/client '@{TrustedHosts="Server01"}' разрешить подключения для Server1
winrm s winrm/config/client '@{TrustedHosts="*"}' разрешить подключения для всех


WinRM enumerate winrm/config/listener - показать все настройки winrm


Примеры комманд

Как пользоваться -ComputerName:
Get-Service -ComputerName win10-test1 - используя параметр -ComputerName получаем информацию о сервисах с компьютера win10-test1

winrs –r:computer01 cmd - удаленное управление computer01 с помощью WinRS / оболочка cmd
winrs -r:win10-test1 powershell - удаленное управление win10-test1 с помощью WinRS / оболочка powershell


Использование PSSession
Enter-PSSession win10-test1 - подключаемся к удаленному ПК
Exit-PSSession - завершить удаленную сессию
Get-Command -Noun PSSession - список всех возможных команд с использованием  PSSession


Использование Invoke-Command
Invoke-Command win10-test1 -ScriptBlock {Get-Process}

Invoke-Command pdc1, win10-test1, win10-test2 -ScriptBlock {Get-Service; Get-Process}

Invoke-Command win10-test1,ts,pdc -ScriptBlock {dir c:\}
Invoke-Command win10-test1,ts,pdc -ScriptBlock {dir c:\ |Measure-Object}