Zelfs als PSRemoting standaard is ingeschakeld op Windows, is het niet altijd ingeschakeld. Als je PSRemoting wilt testen of inschakelen op Windows, is deze handleiding voor jou.
Deze handleiding loopt je door verschillende manieren om PSRemoting in te schakelen op lokale en externe computers die beide Windows gebruiken.
Laten we beginnen!
PSRemoting inschakelen doet veel
Als je voor het eerst leert over PowerShell Remoting, denk je misschien dat inschakelen slechts één commando is. Misschien heb je referenties gezien naar de PowerShell-cmdlet Enable-PSRemoting
en denk je dat het gewoon een schakelaar omschakelt zodra je dat uitvoert. Dat is niet helemaal waar.
Wanneer je hoort over het inschakelen van PSRemoting, moeten er veel taken op de achtergrond worden uitgevoerd om dat mogelijk te maken. Aangezien PowerShell Remoting afhankelijk is van andere systemen om correct te werken, heeft het enkele afhankelijkheden.
Bijvoorbeeld, op Windows, wanneer je de Enable-PSRemoting
-cmdlet zonder parameters uitvoert, voert deze alle volgende taken uit:
- De WinRM-service wordt gestart en ingesteld op automatisch opstarten.
- Er wordt een luisteraar gemaakt op de standaard WinRM-poorten 5985 voor HTTP-verkeer.
- De firewall-uitzonderingen voor WS-Management worden ingeschakeld.
- De PowerShell-sessieconfiguraties worden geregistreerd bij WS-Management.
- De PowerShell-sessieconfiguraties worden ingeschakeld.
- Stelt de PowerShell externe sessies in om externe toegang toe te staan.
- Herverstart de WinRM-server om alle wijzigingen toe te passen.
Ben je niet blij dat je dit niet allemaal handmatig hoeft te doen? Waarom dit vermelden als de Enable-PSRemoting
cmdlet alles doet? Omdat er momenten zullen zijn waarop iets niet werkt en je moet achterhalen wat er gebeurt.
Standaardinstellingen voor PSRemoting op Windows
Aangezien PSRemoting in Windows is geboren, is het standaard ingeschakeld maar niet universeel en ook niet voor alle versies van Windows.
Op alle Windows-clientbesturingssystemen is PSRemoting altijd uitgeschakeld.
Op Windows Server is PSRemoting soms ingeschakeld, maar niet altijd, afhankelijk van onder welk netwerkprofiel Windows draait. Hieronder vind je een handige tabel om te bepalen of je Windows OS PSRemoting ingeschakeld heeft of niet.
Operating System | Network Profile | PSRemoting |
Windows Server 2008 R2 | Domain/Private | Disabled |
Windows Server 2008 R2 | Public | Disabled |
Windows Server 2012 & Newer | Domain/Private | Enabled |
Windows Server 2012 & Newer | Public | Enabled within the same subnet |
Aan de andere kant is Linux eenvoudig. PSRemoting bestaat zelfs niet! Zelfs PowerShell is niet standaard geïnstalleerd. Als je PSRemoting op Linux wilt uitvoeren, zul je het moeten instellen.
Genoeg gepraat, laten we je laten zien hoe je PSRemoting daadwerkelijk kunt gaan gebruiken!
Vereisten
Als je van plan bent om de voorbeelden in dit gedeelte te volgen, zorg er dan voor dat je het volgende hebt:
- A Windows Server 2008 R2 or later machine
- A local or Active Directory domain user in the local administrators group
Het lokaal inschakelen van PSRemoting
Een van de gemakkelijkste manieren om PSRemoting in te schakelen, is door gebruik te maken van het ingebouwde Enable-PSRemoting
commando. Dit commando, zoals je hierboven hebt geleerd, is een snelkoppeling om veel verschillende services te configureren om PowerShell Remoting mogelijk te maken.
Gebruik van de Enable-PSRemoting
Cmdlet
Wanneer je dit commando uitvoert zonder parameters, worden verschillende acties uitgevoerd, afhankelijk van het besturingssysteem dat je gebruikt. Op elk actueel Windows-besturingssysteem gebeuren dezelfde basisstappen. PSRemoting wordt ingeschakeld, de WinRM HTTP-listener wordt aangemaakt en de firewallregels worden ingeschakeld. Het belangrijkste verschil is de manier waarop openbare netwerken worden behandeld.
Op een Server-besturingssysteem, zoals Windows Server 2019, staat de firewallregel voor openbare netwerken externe verbindingen toe van andere apparaten op hetzelfde netwerk. Op een client-besturingssysteem, zoals Windows 10, krijg je een foutmelding waarin staat dat je je in een openbaar netwerk bevindt.
Als je niet zeker weet onder welk netwerkprofiel Windows draait, voer dan het volgende commando uit:
Je zou PSRemoting alleen moeten gebruiken op een vertrouwd netwerk, aangezien het in feite een webserver uitvoert om te luisteren naar externe verbindingen.

Als je het ermee eens bent om PSRemoting uit te voeren op een netwerkprofiel anders dan Privé of Domein, kun je de netwerkprofielcontrole overslaan door de SkipNetworkProfileCheck
-parameter te gebruiken. Door deze parameter te gebruiken, worden de WinRM-poorten geopend in de Windows-firewall.
Het gebruik van de
SkipNetworkProfileCheck
-parameter opent de Windows-firewall voor PowerShell Remoting op je huidige netwerkprofiel, maar staat alleen externe verbindingen toe van machines in hetzelfde subnet.
Twee parameters die samenwerken en gebruikt kunnen worden met Enable-PSRemoting
zijn de -Force
– en -Confirm
-parameters. Je kunt -Force
gebruiken om alle prompts over te slaan die normaal gesproken door het uitvoeren van het Enable-PSRemoting
-commando worden weergegeven. Je kunt ook -Confirm:$false
gebruiken om hetzelfde resultaat te bereiken.
Gebruik van het winrm quickconfig
-commando
Het winrm quickconfig
-commando was vroeger een populaire manier om PSRemoting in te stellen voordat het Enable-PSRemoting
-cmdlet werd gemaakt, maar het heeft nog steeds zijn plaats. Als je gewoon winrm quickconfig
uitvoert, wordt de WinRM-service ingeschakeld, wordt een HTTP-listener gemaakt en worden de firewallregels ingeschakeld. Dit zijn allemaal dingen die al worden gedaan door Enable-PSRemoting
, maar hiermee wordt de machine niet geconfigureerd om externe PowerShell-sessies te verwerken.
Waar de winrm
-commando’s van pas komen, is bij het instellen van HTTPS-listeners. Hoewel je dit handmatig kunt doen, als je een geschikt certificaat hebt voor de HTTPS-listener, kun je eenvoudig winrm quickconfig -transport:https
uitvoeren en worden de HTTPS-listener en HTTPS-firewallregels geconfigureerd.
PSRemoting op afstand inschakelen
Tot nu toe heb je geleerd dat je PSRemoting kunt inschakelen door een commando op een lokale computer uit te voeren. Dit leidt ons tot een kip-en-ei-scenario. PSRemoting stelt je in staat om commando’s op externe computers uit te voeren, maar hoe voer je een commando uit op afstand zonder PSRemoting?
Drie manieren; het PSexec-hulpprogramma, WMI en Group Policy.
Gebruik van Psexec
PSExec is een handige tool waarmee je opdrachten op afstand kunt uitvoeren, net zoals PSRemoting dat doet. PSexec maakt echter gebruik van een andere communicatiemethode die je in je voordeel kunt gebruiken!
Met PSexec kun je Enable-PSRemoting
uitvoeren vanaf je lokale computer met behulp van de volgende opdracht. De onderstaande opdracht roept psexec aan en maakt verbinding met de ServerB server. Vervolgens start het een PowerShell-proces en voert de opdracht Enable-PSRemoting
uit met de -Force
schakelaar om de gebruikelijke prompts over te slaan.
Deze optie is handig voor incidentele gevallen waarin je PSRemoting op een extern systeem moet inschakelen, maar is niet ideaal voor het inschakelen van PSRemoting op veel systemen en vereist dat je psexec downloadt.
Gebruik van WMI
Soms werkt PSexec niet. Veel beveiligingssoftware blokkeert psexec, maar maak je geen zorgen, je hebt ook WMI!
Met behulp van PowerShell en de Invoke-CimMethod
cmdlet. Met de Invoke-CimMethod
cmdlet kun je PowerShell instrueren om verbinding te maken met de externe computer via DCOM en methoden aan te roepen.
Gelukkig heeft WMI een Win32_Process
klasse die je in staat stelt processen aan te roepen. Door een Create
methode aan te roepen tegen de Win32_Process
, maakt Invoke-CimMethod
verbinding met de externe computer, roept PowerShell aan en voert Enable-PSRemoting
uit zoals hieronder getoond.
Het onderstaande voorbeeld maakt een hash-tabel voor de sessieverbinding waarin de servernaam, referenties en protocol worden gespecificeerd. Vervolgens worden in de volgende hash-tabel de parameters voor de Invoke-CimMethod
ingesteld. Zodra deze worden uitgevoerd, wordt er een CIM-sessie gemaakt via het DCOM-protocol dat een PowerShell-proces start dat vervolgens het Enable-PSRemoting
commando uitvoert.
In het geval dat je dit in een domeinomgeving gebruikt en de gebruiker die de opdrachten uitvoert beheerdersrechten heeft op de doelserver, kan de regel
Credential = Get-Credential
worden weggelaten.
Gebruik van groepsbeleid
De laatste, en misschien wel de beste optie om WinRM in te schakelen op een groot aantal computers, is via groepsbeleid. Bij gebruik van groepsbeleid kunt u een enkel Groepsbeleidsobject maken en dat beleid tegelijkertijd op duizenden computers toepassen.
Alle computers moeten zich in een Active Directory-domein bevinden om groepsbeleid te kunnen gebruiken.
Om groepsbeleid te gebruiken om WinRM op veel computers tegelijk in te schakelen, moet u drie verschillende configuratie-items instellen:
- De WinRM-service inschakelen.
- De Windows Firewall-poort voor WinRm openen.
- De WinRM-listener maken en verbindingen toestaan.
Eerst RDP naar een domeincontroller of, nog beter, installeer het pakket Remote Server Administrator Tools (RSAT) op een domeingejoinde werkstation. U zou nu de Group Policy Management Console (GPMC) beschikbaar moeten hebben.
Het inschakelen van de WinRM-service
Om de WinRM-service op alle doelcomputers in te schakelen:
- Open de GPMC en maak een GPO. Terwijl u zich in de nieuwe GPO bevindt, navigeert u naar Computerconfiguratie —> Windows-instellingen —> Beveiligingsinstellingen —> Systeemservices
- Selecteer Windows Remote Management (WS-Management).
- In het configuratiescherm vinkt u het vakje aan voor Deze beleidsinstelling definiëren.
- Selecteer de radioknop voor Automatisch om de WinRM-service automatisch te laten starten bij het opstarten.
- Klik op OK om de instelling te bevestigen.
Openen van de Windows Firewall-poort
Volgende stap is het openen van de WinRM-poort op alle doelcomputers. Terwijl u nog steeds de hierboven gemaakte GPO bewerkt:
- Navigeer naar Computerconfiguratie —> Windows-instellingen —> Beveiligingsinstellingen —> Windows Defender Firewall met geavanceerde beveiliging.
2. Klik op de Nieuwe Inkomende Regel om een nieuwe inkomende regel te maken.
3. Op de eerste pagina selecteer Vooraf gedefinieerd en selecteer Windows Remote Management zoals hieronder getoond.

4. Op de volgende pagina, vink het vakje aan voor de Domein/Privaat netwerk regel tenzij u weet dat Openbare netwerken worden gebruikt in uw omgevingen en u externe verbindingen vanaf deze netwerken moet toestaan.

5. Op de volgende pagina laat de standaardinstelling van De verbinding toestaan staan en klik op Voltooien om de regel te maken.
Maak de WinRM Listener en Filterlijst
Het laatste configuratieonderdeel dat u aan uw GPO moet toevoegen, is het maken van de WinRM-listener en het toestaan van verbindingen met die WinRM-listener. Met deze instelling wordt de WinRM-listener voor HTTP gemaakt en worden verbindingen ermee toegestaan vanaf de gespecificeerde IP’s of IP-bereiken.
Terwijl u nog steeds de WinRM GPO bewerkt:
- Navigeer naar Computerconfiguratie —> Beheersjablonen —> Windows-onderdelen —> Windows Remote Management (WinRM) —> WinRM-service.
2. Selecteer Ingeschakeld voor de instelling Extern beheer van services via WinRM toestaan.
3. Onder de instelling Extern serverbeheer via WinRM toestaan, geef een asterisk (*
) op voor zowel het IPv4-filter als het IPv6-filter zoals hieronder getoond.
Merk op dat je meerdere hosts kunt specificeren, gescheiden door een komma, in elke filterlijst als je van tevoren weet welke hosts verbinding zullen maken met alle doelcomputers.

4. Klik op OK om de nieuwste GPO-instelling te bevestigen.
Het toepassen van de GPO
Op dit moment zou de GPO aangemaakt en klaar voor gebruik moeten zijn. De laatste taak die je nu moet uitvoeren, is het toepassen van deze GPO op alle doelcomputers waarop je WinRM wilt inschakelen. In deze handleiding leer je niet hoe je een GPO toewijst aan doelcomputers.
Als je niet weet hoe je een GPO toewijst aan een reeks computers in Active Directory, moet je dit artikel raadplegen.
Volgende stappen
In deze handleiding heb je geleerd hoe je PSRemoting op veel verschillende manieren kunt inschakelen. Hoe je PSRemoting inschakelt, hangt sterk af van je omgeving en ik hoop dat ik je scenario hier heb behandeld.
Neem nu wat je hebt geleerd, ga erop uit en begin PSRemoting te gebruiken in je omgeving!