Get-ExecutionPolicy
Hämtar körningsprinciperna för den aktuella sessionen.
Syntax
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Description
Om du vill visa körningsprinciperna för varje omfång i prioritetsordning använder du Get-ExecutionPolicy -List
. Om du vill se den effektiva körningsprincipen för din PowerShell-session använder du Get-ExecutionPolicy
utan parametrar.
Den effektiva körningsprincipen bestäms av körningsprinciper som anges av Set-ExecutionPolicy
och grupprincipinställningar.
Mer information finns i about_Execution_Policies.
Exempel
Exempel 1: Hämta alla körningsprinciper
Det här kommandot visar körningsprinciperna för varje omfång i prioritetsordning.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
Cmdleten Get-ExecutionPolicy
använder parametern List för att visa varje omfångs körningsprincip.
Exempel 2: Ange en körningsprincip
Det här exemplet visar hur du anger en körningsprincip för den lokala datorn.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
Cmdleten Set-ExecutionPolicy
använder parametern ExecutionPolicy för att ange RemoteSigned
principen. Parametern Omfång anger standardomfångsvärdet, LocalMachine
.
Om du vill visa körningsprincipinställningarna använder du cmdleten Get-ExecutionPolicy
med parametern Lista .
Exempel 3: Hämta principen för effektiv körning
Det här exemplet visar hur du visar den effektiva körningsprincipen för en PowerShell-session.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
Cmdleten Get-ExecutionPolicy
använder parametern List för att visa varje omfångs körningsprincip. Cmdleten Get-ExecutionPolicy
körs utan en parameter för att visa principen för effektiv körning, AllSigned
.
Exempel 4: Avblockera ett skript för att köra det utan att ändra körningsprincipen
Det här exemplet visar hur RemoteSigned
körningsprincipen hindrar dig från att köra osignerade skript.
Bästa praxis är att läsa skriptets kod och kontrollera att den är säker innan du använder cmdleten Unblock-File
. Cmdleten Unblock-File
avblockera skript så att de kan köras, men ändrar inte körningsprincipen.
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:
Set-ExecutionPolicy
Använder parametern ExecutionPolicy för att ange RemoteSigned
principen. Principen har angetts för standardomfånget . LocalMachine
Cmdleten Get-ExecutionPolicy
visar att är RemoteSigned
den effektiva körningsprincipen för den aktuella PowerShell-sessionen.
Skriptet Start-ActivityTracker.ps1
körs från den aktuella katalogen. Skriptet blockeras av RemoteSigned
eftersom skriptet inte är digitalt signerat.
I det här exemplet har skriptets kod granskats och verifierats som säker att köra. Cmdleten Unblock-File
använder parametern Path för att avblockera skriptet.
Om du vill kontrollera att Unblock-File
det inte ändrade körningsprincipen Get-ExecutionPolicy
visar den effektiva körningsprincipen . RemoteSigned
Skriptet Start-ActivityTracker.ps1
körs från den aktuella katalogen. Skriptet börjar köras eftersom det avblockerades av cmdleten Unblock-File
.
Parametrar
-List
Hämtar alla körningsprincipvärden för sessionen. Som standard Get-ExecutionPolicy
hämtar endast den effektiva körningsprincipen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Anger det omfång som påverkas av en körningsprincip.
Den effektiva körningsprincipen bestäms av prioritetsordningen enligt följande:
MachinePolicy
. Anges av en grupprincip för alla användare av datorn.UserPolicy
. Anges av en grupprincip för den aktuella användaren av datorn.Process
. Påverkar endast den aktuella PowerShell-sessionen.LocalMachine
. Standardomfång som påverkar alla användare av datorn.CurrentUser
. Påverkar endast den aktuella användaren.
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 |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Cmdleten returnerar alltid Obegränsad på Linux- och macOS-plattformar. På Windows-plattformar returneras den aktuella körningsprincipen.
Kommentarer
En körningsprincip är en del av PowerShell-säkerhetsstrategin. Körningsprinciper avgör om du kan läsa in konfigurationsfiler, till exempel din PowerShell-profil eller köra skript. Och om skript måste signeras digitalt innan de körs.