Get-ExecutionPolicy
Hiermee haalt u het uitvoeringsbeleid voor de huidige sessie op.
Syntax
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
Als u het uitvoeringsbeleid voor elk bereik wilt weergeven in de volgorde van prioriteit, gebruikt Get-ExecutionPolicy -List
u . Als u het effectieve uitvoeringsbeleid voor uw PowerShell-sessie wilt zien, gebruikt u Get-ExecutionPolicy
zonder parameters.
Het effectieve uitvoeringsbeleid wordt bepaald door het uitvoeringsbeleid dat is ingesteld door Set-ExecutionPolicy
en groepsbeleid instellingen.
Zie about_Execution_Policies voor meer informatie.
Voorbeelden
Voorbeeld 1: Alle uitvoeringsbeleidsregels ophalen
Met deze opdracht worden de uitvoeringsbeleidsregels voor elk bereik weergegeven in de volgorde van prioriteit.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
De Get-ExecutionPolicy
cmdlet gebruikt de parameter List om het uitvoeringsbeleid van elk bereik weer te geven.
Voorbeeld 2: Een uitvoeringsbeleid instellen
In dit voorbeeld ziet u hoe u een uitvoeringsbeleid instelt voor de lokale computer.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
De Set-ExecutionPolicy
cmdlet gebruikt de parameter ExecutionPolicy om het RemoteSigned-beleid op te geven. Met de parameter Bereik geeft u de standaardbereikwaarde LocalMachine op. Als u de instellingen voor het uitvoeringsbeleid wilt weergeven, gebruikt u de Get-ExecutionPolicy
cmdlet met de parameter List .
Voorbeeld 3: Het effectieve uitvoeringsbeleid ophalen
In dit voorbeeld ziet u hoe u het effectieve uitvoeringsbeleid voor een PowerShell-sessie kunt weergeven.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
De Get-ExecutionPolicy
cmdlet gebruikt de parameter List om het uitvoeringsbeleid van elk bereik weer te geven. De Get-ExecutionPolicy
cmdlet wordt uitgevoerd zonder een parameter om het effectieve uitvoeringsbeleid , AllSigned, weer te geven.
Voorbeeld 4: Een script deblokkeren om het uit te voeren zonder het uitvoeringsbeleid te wijzigen
In dit voorbeeld ziet u hoe het uitvoeringsbeleid voor RemoteSigned voorkomt dat u niet-ondertekende scripts uitvoert.
Een best practice is om de code van het script te lezen en te controleren of deze veilig is voordat u de Unblock-File
cmdlet gebruikt. De Unblock-File
cmdlet deblokkeert scripts zodat ze kunnen worden uitgevoerd, maar wijzigt het uitvoeringsbeleid niet.
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path .\Start-ActivityTracker.ps1
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
Task 1:
De Set-ExecutionPolicy
gebruikt de ExecutionPolicy parameter om het RemoteSigned-beleid op te geven. Het beleid is ingesteld voor het standaardbereik LocalMachine.
De Get-ExecutionPolicy
cmdlet geeft aan dat RemoteSigned het effectieve uitvoeringsbeleid is voor de huidige PowerShell-sessie.
Het Start-ActivityTracker.ps1 script wordt uitgevoerd vanuit de huidige map. Het script wordt geblokkeerd door RemoteSigned omdat het script niet digitaal is ondertekend.
In dit voorbeeld is de code van het script gecontroleerd en geverifieerd als veilig om uit te voeren. De Unblock-File
cmdlet gebruikt de parameter Path om de blokkering van het script op te heffen.
Als u wilt controleren of Unblock-File
het uitvoeringsbeleid niet is gewijzigd, Get-ExecutionPolicy
wordt het effectieve uitvoeringsbeleid RemoteSigned weergegeven.
Het script ,Start-ActivityTracker.ps1 wordt uitgevoerd vanuit de huidige map. Het script wordt uitgevoerd omdat het is gedeblokkeerd door de Unblock-File
cmdlet.
Parameters
-List
Hiermee haalt u alle waarden voor het uitvoeringsbeleid voor de sessie op in volgorde van prioriteit. Krijgt standaard Get-ExecutionPolicy
alleen het effectieve uitvoeringsbeleid.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Hiermee geeft u het bereik op dat wordt beïnvloed door een uitvoeringsbeleid.
Het effectieve uitvoeringsbeleid wordt als volgt bepaald door de volgorde van prioriteit:
- MachinePolicy. Ingesteld door een groepsbeleid voor alle gebruikers van de computer.
- UserPolicy. Ingesteld door een groepsbeleid voor de huidige gebruiker van de computer.
- Proces. Is alleen van invloed op de huidige PowerShell-sessie.
- CurrentUser. Alleen van invloed op de huidige gebruiker.
- LocalMachine. Standaardbereik dat van invloed is op alle gebruikers van de computer.
Type: | ExecutionPolicyScope |
Accepted values: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
Position: | 0 |
Default value: | Effective execution policy |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Invoerwaarden
None
Get-ExecutionPolicy
accepteert geen invoer van de pijplijn.
Uitvoerwaarden
De cmdlet retourneert altijd Onbeperkt op Linux- en macOS-platforms.
Notities
Een uitvoeringsbeleid maakt deel uit van de Beveiligingsstrategie van PowerShell. Uitvoeringsbeleid bepaalt of u configuratiebestanden, zoals uw PowerShell-profiel, kunt laden of scripts kunt uitvoeren. En of scripts digitaal moeten worden ondertekend voordat ze worden uitgevoerd.