Remote Powershell kun je gebruiken door op de target-computer het commando: “Enable-PSRemoting –Force” te gebruiken.
Hiermee wordt WinRM geconfigureerd en er worden tevens firewall uitzonderingen gemaakt.
De listeners van WinRM staan standaard open op alle interfaces/ip adressen en luisteren naar 5985 (http) en 5986 (https).
Zie ook:
Voer: “winrm help config” uit om meer informatie betreft het configureren van WinRM.
Hierin staat oa:
Voorbeeld: een bepaalde listener uitschakelen
winrm set winrm/config/listener?Address=IP:1.2.3.4+Transport=HTTP @{Enabled="false"}
en ook (geruststellend) :
Opmerking: bij HTTP-verkeer zijn standaard alleen berichten toegestaan die zijn versleuteld met de SSP Negotiate of Kerberos
(Informatie over SSP kun je vinden op: http://msdn.microsoft.com/en-us/library/windows/desktop/aa378748(v=vs.85).aspx)
Door onderstaande commando's uit te voeren kun je ervoor zorgen dat Powershell Remoting de poorten 80 (HTTP) en 443 (HTTPS) gebruikt:
Set-Item WSMan:\localhost\Service\EnableCompatibilityHttpListener -Value true
Set-Item WSMan:\localhost\Service\EnableCompatibilityHttpsListener -Value true
Je kunt powershell zo instellen dat deze een andere gewenste poort gebruikt:
Set-Item wsman:\localhost\listener\listener*\port –value <Port>
In de code moet je dan opgeven dat je over de ingestelde poort wilt verbinden:
New-PSSession –ComputerName <Netbios> -Port <Port>
Enter-PSSession –ComputerName <Netbios> -Port <Port>
Invoke-Command –ComputerName <Netbios> -Port <Port>
TrustedHosts toevoegen aan WinRM omdat de computer niet lid is van het(zelfde) domein:
Voer onderstaand commando uit:
winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}'
Wil je dat Powershell alleen over HTTPS communiceert, dan vindt je hier meer informatie:
Handig is het natuurlijk wel als je centraal kunt regelen dat je naar alle servers een Remote Powershell sessie kunt opstarten: Hier een blog over hoe je Remote PS enabled via een GPO:
Geen opmerkingen:
Een reactie posten