Get-ExecutionPolicy
Hiermee haalt u het uitvoeringsbeleid voor de huidige sessie op.
Syntaxis
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
Gebruik Get-ExecutionPolicy -List
om het uitvoeringsbeleid voor elk bereik weer te geven in volgorde van prioriteit. 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 groepsbeleidsinstellingen.
Zie about_Execution_Policiesvoor meer informatie.
Voorbeelden
Voorbeeld 1: Alle uitvoeringsbeleidsregels ophalen
Met deze opdracht worden de uitvoeringsbeleidsregels voor elk bereik weergegeven in volgorde van prioriteit.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
De cmdlet Get-ExecutionPolicy
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 beleid RemoteSigned op te geven. De parameter Bereik specificeert de standaardbereikwaarde, LocalMachine. Als u de instellingen voor het uitvoeringsbeleid wilt weergeven, gebruikt u de cmdlet Get-ExecutionPolicy
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 cmdlet Get-ExecutionPolicy
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 weer te geven, AllSigned.
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 het veilig is voordat de Unblock-File
cmdlet gebruikt. De Unblock-File
cmdlet deblokkert 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 parameter ExecutionPolicy om het beleid RemoteSigned 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 uit te voeren. De cmdlet Unblock-File
maakt gebruik van de parameter Path om het script te deblokkeren.
Als u wilt controleren of Unblock-File
het uitvoeringsbeleid niet heeft gewijzigd, geeft Get-ExecutionPolicy
het effectieve uitvoeringsbeleid weer, RemoteSigned.
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 worden alle uitvoeringsbeleidswaarden opgehaald voor de sessie die wordt vermeld in volgorde van prioriteit. Standaard krijgt Get-ExecutionPolicy
alleen het effectieve uitvoeringsbeleid.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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. Is alleen van invloed op de huidige gebruiker.
- LocalMachine. Standaardbereik dat van invloed is op alle gebruikers van de computer.
Type: | ExecutionPolicyScope |
Geaccepteerde waarden: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
Position: | 0 |
Default value: | Effective execution policy |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Invoerwaarden
None
Get-ExecutionPolicy
accepteert geen invoer van de pijplijn.
Uitvoerwaarden
Notities
Een uitvoeringsbeleid maakt deel uit van de PowerShell-beveiligingsstrategie. 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.