Wymagania dot. zdalnego połączenia przez PS:
- Otwarte porty: WSMan: 5985. Jeżeli połączenie ma się odbywać przez SSL, otwarty również port 5986;
- Sieć nie publiczna: Prywatna lub Firmowa;
- Uruchomiona usługę WinRM, skonfigurować uruchamianie w auto starcie;
- Utworzony Listenera dla adresu IP lub nazwy komputera.
Uruchomienie PS Remoting na komputerach pracujących w domenie:
- Konfiguracja auto startu usługi:
Computer Configurations / Windows Settings / Security Settings / System Services / Windows Remote Management (WS-Management),
- Konfiguracja Listenera:
Computer Configurations / Administrative Templates / Windows Components / Windows Remote Managament (WinRM) / WinRM Service / Allow remote server management through WinRM
Opcja skonfigurowana na Enable, w miejscu IPv4 filter gwiazdka (*)
- Konfiguracja zapory sieciowej:
Computer Configurations / Windows Settings / Security Settings / Windows Defender Firewall with Advanced Security / Inbound Rules – Wybrać usługę Windows Remote Management (HTTP-In)
Zamiast klikologii można posłużyć się komendami Powershell. Na maszynie, do której mamy się łączyć należy otworzyć PS z podwyższonymi uprawnieniami i wydać następujące komendy:
$Interface_Index = Get-NetConnectionProfile | Select -ExpandProperty InterfaceIndex
Set-NetConnectionProfile -InterfaceIndex $Interface_Index -NetworkCategory Private
Enable-PSRemoting -Force
Restart-Service WinRM
Dodatkowo na komputerze z którego mamy się łączyć do innych maszyn należy uruchomić PS z podwyższonymi uprawnieniami i wydać następującą komendę:
Set-Item wsman:\localhost\client\trustedhosts *
Samo połączenie do zdalnego komputera odbywa się poprzez wydanie polecania:
Enter-PSSession -ComputerName 192.168.5.7 -Credential admin
Możliwe jest wykonanie skryptu lub komendy na wielu komputerach naraz poprzez polecenie:
Invoke-Command -ComputerName 192.168.5.7, 192.168.5.8 -ScriptBlock { Get-ChildItem C:\ } -credential admin_account_name
lub uruchomić skrypt PowerShell:
Invoke-Command -ComputerName 192.168.5.7, 192.168.5.8 -FilePath C:\skrypty\tajemniczy_skrypt.ps1
Źródła:
http://powershell.org/wp/2012/08/06/ebook-secrets-of-powershell-remoting/
http://blogs.technet.com/b/heyscriptingguy/archive/2013/11/29/remoting-week-non-domain-remoting.aspx