about_Remote_Requirements
Korte beschrijving
Beschrijft de systeemvereisten en configuratievereisten voor het uitvoeren van externe opdrachten in PowerShell.
Lange beschrijving
In dit onderwerp worden de systeemvereisten, gebruikersvereisten en resourcevereisten beschreven voor het tot stand brengen van externe verbindingen en het uitvoeren van externe opdrachten in PowerShell. Het bevat ook instructies voor het configureren van externe bewerkingen.
Notitie
Sommige cmdlets krijgen objecten van externe computers RPC-verbindingen of WMI-sessies voor externe verbindingen. Ze maken geen gebruik van de externe infrastructuur van PowerShell. De vereisten in dit document zijn niet van toepassing op deze cmdlets.
Lees de beschrijving van de parameter ComputerName van de cmdlets voor de cmdlets, maar die geen externe communicatie van PowerShell gebruiken.
Systeemvereisten
In Windows maakt externe communicatie van PowerShell gebruik van Windows Remote Management (WinRM), dat wordt geleverd door het Windows Management Framework (WMF). Als u externe sessies wilt uitvoeren op PowerShell, moeten de lokale en externe computers het volgende hebben:
- Windows PowerShell 3.0 of hoger
- Microsoft .NET Framework 4 of hoger
- Windows Remote Management 3.0 of hoger
Als u externe sessies wilt uitvoeren in Windows PowerShell 2.0, moeten de lokale en externe computers het volgende hebben:
- Windows PowerShell 2.0 of hoger
- Microsoft .NET Framework 2.0 of hoger
- Windows Remote Management 2.0
Als u volledig wilt worden ondersteund, moet u WMF 5.1 gebruiken. Zie Windows Management Framework (WMF) voor meer informatie over WMF-ondersteuning.
U kunt een externe sessie maken tussen een computer met Windows PowerShell 2.0 en een met een nieuwere versie van PowerShell. Functies die alleen worden uitgevoerd in nieuwe versies van PowerShell, zoals de mogelijkheid om de verbinding met sessies te verbreken en opnieuw verbinding te maken, zijn echter alleen beschikbaar wanneer op beide computers Windows PowerShell 3.0 en hoger wordt uitgevoerd.
Gebruik de $PSVersionTable
automatische variabele om het versienummer van een geïnstalleerde versie van PowerShell te vinden.
PowerShell 7 en hoger biedt ook ondersteuning voor externe communicatie van PowerShell via SSH. Met externe communicatie van PowerShell via SSH kunt u verbinding maken met elke Windows-, macOS- of Linux-host waarop SSH wordt uitgevoerd. Zie Voor meer informatie PowerShell remoting via SSH.
Gebruikersmachtigingen
Als u externe sessies wilt maken en externe opdrachten wilt uitvoeren, moet de huidige gebruiker standaard lid zijn van de groep Administrators op de externe computer of de referenties van een beheerder opgeven. Anders mislukt de opdracht.
De vereiste machtigingen voor het maken van sessies en het uitvoeren van opdrachten op een externe computer worden ingesteld door de sessieconfiguratie. De sessieconfiguratie definieert de configuratieopties voor het verbindingseindpunt op de externe computer. De beveiligingsdescriptor voor de sessieconfiguratie bepaalt met name wie toegang heeft tot de sessieconfiguratie en wie deze kan gebruiken om verbinding te maken.
De beveiligingsdescriptors voor de standaardsessieconfiguraties, Microsoft.PowerShell en Microsoft.PowerShell32, staan alleen toegang toe tot leden van de groep Administrators .
Leden van de groep Administrators op een computer kunnen bepalen wie gemachtigd is om op afstand verbinding te maken met de computer door de beveiligingsdescriptors te wijzigen in de standaardsessieconfiguraties of nieuwe sessieconfiguraties te maken met verschillende beveiligingsdescriptors. Gebruikers kunnen de ConfigurationName-parameter van *-PSSession
cmdlets gebruiken om verbinding te maken met verschillende eindpunten.
Zie about_Session_Configurations (Engelstalig) voor meer informatie over sessieconfiguraties.
Windows-netwerklocaties
Vanaf Windows PowerShell 3.0 kan de Enable-PSRemoting
cmdlet externe communicatie inschakelen op client- en serverversies van Windows.
Op serverversies van Windows met privé- en domeinnetwerken maakt de Enable-PSRemoting
cmdlet firewallregels die onbeperkte externe toegang toestaan. Er wordt ook een firewallregel gemaakt voor openbare netwerken die externe toegang alleen vanaf computers in hetzelfde lokale subnet toestaat. Deze lokale subnetfirewallregel is standaard ingeschakeld voor serverversies van Windows in openbare netwerken, maar Enable-PSRemoting
past de regel opnieuw toe voor het geval deze is gewijzigd of verwijderd.
In clientversies van Windows met privé- en domeinnetwerken Enable-PSRemoting
maakt u firewallregels die onbeperkte externe toegang toestaan.
Als u externe communicatie wilt inschakelen voor clientversies van Windows met openbare netwerken, gebruikt u de parameter SkipNetworkProfileCheck van de Enable-PSRemoting
cmdlet. Met deze optie maakt u een firewallregel die externe toegang alleen toestaat vanaf computers in hetzelfde lokale subnet.
Als u de lokale subnetbeperking voor openbare netwerken wilt verwijderen en externe toegang vanaf alle locaties op client- en serverversies van Windows wilt toestaan, gebruikt u de Set-NetFirewallRule
cmdlet in de NetSecurity-module . Voer de volgende opdracht uit:
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Notitie
De naam van de firewallregel kan verschillen voor verschillende versies van Windows. Gebruik Get-NetFirewallRule
dit om een lijst met regels weer te geven. Voordat u de firewallregel inschakelt, bekijkt u de beveiligingsinstellingen in de regel om te controleren of de configuratie geschikt is voor uw omgeving.
In Windows PowerShell 2.0 maakt u op serverversies van Windows Enable-PSRemoting
firewallregels die externe toegang op alle netwerken toestaan.
In Windows PowerShell 2.0, op clientversies van Windows, Enable-PSRemoting
worden firewallregels alleen gemaakt op particuliere netwerken en domeinen. Als de netwerklocatie openbaar is, Enable-PSRemoting
mislukt het.
Uitvoeren als systeembeheerder
Beheerdersbevoegdheden zijn vereist voor de volgende externe toegangsbewerkingen:
- Een externe verbinding tot stand brengen met de lokale computer. Dit wordt meestal een 'loopback'-scenario genoemd.
- Sessieconfiguraties beheren op de lokale computer.
- WS-Management-instellingen weergeven en wijzigen op de lokale computer. Dit zijn de instellingen in het LocalHost-knooppunt van het WSMAN:-station.
U moet PowerShell starten met de optie Als administrator uitvoeren, zelfs als u lid bent van de groep Administrators op de lokale computer.
Wanneer u Windows PowerShell start vanuit een ander programma, zoals cmd.exe
, gebruikt u de optie Als administrator uitvoeren om het programma te starten.
Uw computer configureren voor externe communicatie
Computers met een ondersteunde versie van Windows kunnen externe verbindingen tot stand brengen en externe opdrachten uitvoeren in PowerShell zonder enige configuratie. Als u echter externe verbindingen wilt ontvangen, moet u externe communicatie van PowerShell op de computer inschakelen.
Windows Server 2012 en nieuwere versies van Windows Server zijn standaard ingeschakeld voor externe communicatie met PowerShell. Als de instellingen zijn gewijzigd, kunt u de standaardinstellingen herstellen door de cmdlet uit te Enable-PSRemoting
voeren.
De externe functies van PowerShell worden standaard ondersteund door de WinRM-service. Dit is de Microsoft-implementatie van het WS-beheerprotocol (Web Services for Management). Wanneer u externe communicatie van PowerShell inschakelt, wijzigt u de standaardconfiguratie van WS-Management en voegt u systeemconfiguratie toe waarmee gebruikers verbinding kunnen maken met WS-Management.
PowerShell configureren voor het ontvangen van externe opdrachten:
- Start PowerShell met de optie Uitvoeren als administrator .
- Typ bij de opdrachtprompt:
Enable-PSRemoting
Als u wilt controleren of externe communicatie juist is geconfigureerd, voert u een testopdracht uit, zoals de volgende opdracht, waarmee een externe sessie op de lokale computer wordt gemaakt.
New-PSSession
Als externe toegang correct is geconfigureerd, maakt de opdracht een sessie op de lokale computer en retourneert een object dat de sessie vertegenwoordigt.
Id Name ComputerName State ConfigurationName
-- ---- ------------ ----- -----
1 Session1 localhost Opened Microsoft.PowerShell
Als de opdracht mislukt, raadpleegt u about_Remote_Troubleshooting.
Meer informatie over beleidsregels
Wanneer u op afstand werkt, gebruikt u twee exemplaren van PowerShell, één op de lokale computer en één op de externe computer. Als gevolg hiervan wordt uw werk beïnvloed door het Windows- en PowerShell-beleid op zowel de lokale als externe computers.
Voordat u verbinding maakt en tijdens het tot stand brengen van de verbinding, zijn de beleidsregels op de lokale computer van kracht. Wanneer u de verbinding gebruikt, zijn de beleidsregels op de externe computer van kracht.