Enable-PSRemoting
Hiermee configureert u de computer voor het ontvangen van externe opdrachten.
Syntax
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Deze cmdlet is alleen beschikbaar op het Windows-platform.
De Enable-PSRemoting cmdlet configureert de computer voor het ontvangen van externe PowerShell-opdrachten die worden verzonden met behulp van de WS-Management technologie. WS-Management op basis van externe communicatie via PowerShell wordt momenteel alleen ondersteund op het Windows-platform.
Externe communicatie via PowerShell is standaard ingeschakeld op Windows Server-platforms. U kunt Enable-PSRemoting externe communicatie met PowerShell inschakelen in andere ondersteunde versies van Windows en externe communicatie opnieuw inschakelen als deze wordt uitgeschakeld.
U moet deze opdracht slechts één keer uitvoeren op elke computer die opdrachten ontvangt. U hoeft deze niet uit te voeren op computers die alleen opdrachten verzenden. Omdat de configuratie listeners start om externe verbindingen te accepteren, is het verstandig om deze alleen uit te voeren wanneer deze nodig is.
Externe communicatie van PowerShell inschakelen in clientversies van Windows wanneer de computer zich op een openbaar netwerk bevindt, is normaal gesproken niet toegestaan, maar u kunt deze beperking overslaan met behulp van de parameter SkipNetworkProfileCheck . Zie de beschrijving van de parameter SkipNetworkProfileCheck voor meer informatie.
Meerdere PowerShell-installaties kunnen naast elkaar bestaan op één computer. Als Enable-PSRemoting u deze uitvoert, wordt een eindpunt voor externe toegang geconfigureerd voor de specifieke installatieversie waarin u de cmdlet uitvoert. Dus als u tijdens Enable-PSRemoting het uitvoeren van PowerShell 6.2 uitvoert, wordt er een extern eindpunt geconfigureerd dat PowerShell 6.2 uitvoert. Als u powerShell 7-preview uitvoert Enable-PSRemoting , wordt een extern eindpunt geconfigureerd dat PowerShell 7-preview uitvoert.
Enable-PSRemoting maakt zo nodig twee configuraties voor externe eindpunten. Als de eindpuntconfiguraties al bestaan, worden deze eenvoudigweg ingeschakeld. De gemaakte configuraties zijn identiek, maar hebben verschillende namen. Eén heeft een eenvoudige naam die overeenkomt met de PowerShell-versie die als host fungeert voor de sessie. De andere configuratienaam bevat gedetailleerdere informatie over de PowerShell-versie die als host fungeert voor de sessie. Wanneer u bijvoorbeeld in PowerShell 6.2 uitvoert Enable-PSRemoting , krijgt u twee geconfigureerde eindpunten met de naam PowerShell.6, PowerShell.6.2.2.
Hiermee kunt u een verbinding maken met de meest recente Versie van de PowerShell 6-host met behulp van de eenvoudige naam PowerShell.6. U kunt ook verbinding maken met een specifieke PowerShell-hostversie met behulp van de langere naam PowerShell.6.2.2.
Als u de nieuw ingeschakelde externe eindpunten wilt gebruiken, moet u deze opgeven op naam met de parameter ConfigurationName bij het maken van een externe verbinding met behulp van de Invoke-Commandcmdlets .New-PSSession.Enter-PSSession Zie voorbeeld 4 voor meer informatie.
De Enable-PSRemoting cmdlet voert de volgende bewerkingen uit:
- Voert de Set-WSManQuickConfig-cmdlet uit, waarmee de volgende taken worden uitgevoerd:
- Start de WinRM-service.
- Hiermee stelt u het opstarttype in de WinRM-service in op Automatisch.
- Hiermee maakt u een listener om aanvragen op elk IP-adres te accepteren.
- Hiermee schakelt u een firewall-uitzondering in voor WS-Management-communicatie.
- Hiermee maakt u indien nodig de configuraties van het eindpunt voor een eenvoudige en lange naamsessie.
- Hiermee schakelt u alle sessieconfiguraties in.
- Hiermee wijzigt u de beveiligingsdescriptor van alle sessieconfiguraties om externe toegang toe te staan.
- Start de WinRM-service opnieuw op om de voorgaande wijzigingen effectief te maken.
Als u deze cmdlet wilt uitvoeren op het Windows-platform, start u PowerShell met behulp van de optie Uitvoeren als administrator. Deze cmdlet is niet beschikbaar in Linux- of MacOS-versies van PowerShell.
Waarschuwing
Deze cmdlet heeft geen invloed op configuraties van externe eindpunten die zijn gemaakt door Windows PowerShell.
Dit is alleen van invloed op eindpunten die zijn gemaakt met PowerShell versie 6 en hoger. Als u externe PowerShell-eindpunten wilt in- en uitschakelen die worden gehost door Windows PowerShell, voert u de Enable-PSRemoting cmdlet uit vanuit een Windows PowerShell-sessie.
Voorbeelden
Voorbeeld 1: Een computer configureren voor het ontvangen van externe opdrachten
Met deze opdracht configureert u de computer voor het ontvangen van externe opdrachten.
Enable-PSRemoting
WARNING: PowerShell remoting has been enabled only for PowerShell Core configurations and does not
affect Windows PowerShell remoting configurations. Run this cmdlet in Windows PowerShell to affect
all PowerShell remoting configurations.
Voorbeeld 2: Een computer configureren voor het ontvangen van externe opdrachten zonder bevestigingsprompt
Met deze opdracht configureert u de computer voor het ontvangen van externe opdrachten. De parameter Force onderdrukt de gebruikersprompts.
Enable-PSRemoting -Force
WARNING: PowerShell remoting has been enabled only for PowerShell Core configurations and does not
affect Windows PowerShell remoting configurations. Run this cmdlet in Windows PowerShell to affect
all PowerShell remoting configurations.
Voorbeeld 3: Externe toegang toestaan op clients
In dit voorbeeld ziet u hoe u externe toegang vanuit openbare netwerken op clientversies van het Windows-besturingssysteem toestaat. 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.
Get-NetFirewallRule -Name 'WINRM*' | Select-Object Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Maakt standaard Enable-PSRemoting netwerkregels waarmee externe toegang vanuit privénetwerken en domeinnetwerken is toegestaan. De opdracht maakt gebruik van de parameter SkipNetworkProfileCheck om externe toegang vanuit openbare netwerken in hetzelfde lokale subnet toe te staan. Met de opdracht geeft u de parameter Force op om bevestigingsberichten te onderdrukken.
De parameter SkipNetworkProfileCheck heeft geen invloed op serverversies van het Windows-besturingssysteem, waardoor externe toegang vanuit openbare netwerken in hetzelfde lokale subnet standaard is toegestaan.
Met Set-NetFirewallRule de cmdlet in de NetSecurity-module wordt een firewallregel toegevoegd die externe toegang vanuit openbare netwerken vanaf elke externe locatie toestaat. Dit omvat locaties in verschillende subnetten.
Voorbeeld 4: Een externe sessie maken voor de zojuist ingeschakelde eindpuntconfiguratie
In dit voorbeeld ziet u hoe u externe communicatie van PowerShell op een computer inschakelt, de geconfigureerde eindpuntnamen zoekt en een externe sessie maakt naar een van de eindpunten.
Met de eerste opdracht wordt externe communicatie via PowerShell op de computer ingeschakeld.
Met de tweede opdracht worden de eindpuntconfiguraties weergegeven.
Met de derde opdracht maakt u een externe PowerShell-sessie op dezelfde computer, waarbij u het PowerShell.6-eindpunt op naam opgeeft. De externe sessie wordt gehost met de nieuwste Versie van PowerShell 6 (6.2.2).
De laatste opdracht opent de $PSVersionTable variabele in de externe sessie om de PowerShell-versie weer te geven die als host fungeert voor de sessie.
Enable-PSRemoting -Force
Get-PSSessionConfiguration
$session = New-PSSession -ComputerName localhost -ConfigurationName PowerShell.6
Invoke-Command -Session $session -ScriptBlock { $PSVersionTable }
WARNING: PowerShell remoting has been enabled only for PowerShell Core configurations and does not
affect Windows PowerShell remoting configurations. Run this cmdlet in Windows PowerShell to affect
all PowerShell remoting configurations.
Name : PowerShell.6
PSVersion : 6.2
StartupScript :
RunAsUser :
Permission : NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed,
BUILTIN\Remote Management Users AccessAllowed
Name : PowerShell.6.2.2
PSVersion : 6.2
StartupScript :
RunAsUser :
Permission : NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed,
BUILTIN\Remote Management Users AccessAllowed
Name Value
---- -----
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSEdition Core
PSRemotingProtocolVersion 2.3
Platform Win32NT
SerializationVersion 1.1.0.1
GitCommitId 6.2.2
WSManStackVersion 3.0
PSVersion 6.2.2
OS Microsoft Windows 10.0.18363
Notitie
De naam van de firewallregel kan verschillen, afhankelijk van de versie van Windows. Gebruik de Get-NetFirewallRule cmdlet om de namen van de regels op uw systeem weer te geven.
Parameters
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Dwingt de opdracht uit te voeren zonder te vragen om bevestiging van de gebruiker.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee wordt aangegeven dat deze cmdlet externe communicatie mogelijk maakt op clientversies van het Windows-besturingssysteem wanneer de computer zich in een openbaar netwerk bevindt. Met deze parameter wordt een firewallregel ingeschakeld voor openbare netwerken die alleen externe toegang vanaf computers in hetzelfde lokale subnet toestaat.
Deze parameter heeft geen invloed op serverversies van het Windows-besturingssysteem, die standaard een lokale subnetfirewallregel hebben voor openbare netwerken. Als de firewallregel voor het lokale subnet is uitgeschakeld op een serverversie, Enable-PSRemoting schakelt u deze opnieuw in, ongeacht de waarde van deze parameter.
Als u de beperking van het lokale subnet wilt verwijderen en externe toegang wilt inschakelen vanaf alle locaties in openbare netwerken, gebruikt u de Set-NetFirewallRule cmdlet in de NetSecurity-module .
Deze parameter is geïntroduceerd in PowerShell 3.0.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Invoerwaarden
None
U kunt invoer voor deze cmdlet niet doorsluisen.
Uitvoerwaarden
Deze cmdlet retourneert tekenreeksen die de resultaten beschrijven.
Notities
Deze cmdlet is alleen beschikbaar op Windows-platforms.
In serverversies van het Windows-besturingssysteem Enable-PSRemoting maakt u firewallregels voor privé- en domeinnetwerken die externe toegang toestaan en maakt u een firewallregel voor openbare netwerken die externe toegang alleen vanaf computers in hetzelfde lokale subnet toestaat.
In clientversies van het Windows-besturingssysteem Enable-PSRemoting maakt u firewallregels voor privé- en domeinnetwerken die onbeperkte externe toegang toestaan. Als u een firewallregel wilt maken voor openbare netwerken die externe toegang vanuit hetzelfde lokale subnet toestaat, gebruikt u de parameter SkipNetworkProfileCheck .
Als u op client- of serverversies van het Windows-besturingssysteem een firewallregel wilt maken voor openbare netwerken die de beperking van het lokale subnet verwijdert en externe toegang toestaat, gebruikt u de Set-NetFirewallRule cmdlet in de NetSecurity-module om de volgende opdracht uit te voeren: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Enable-PSRemoting schakelt alle sessieconfiguraties in door de waarde van de eigenschap Ingeschakeld van alle sessieconfiguraties in te stellen op $True.
Enable-PSRemoting verwijdert de instellingen voor Deny_All en Network_Deny_All . Dit biedt externe toegang tot sessieconfiguraties die zijn gereserveerd voor lokaal gebruik.
Verwante koppelingen
Feedback
Feedback verzenden en weergeven voor