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 Get-ExecutionPolicy
du utan parametrar.
Den effektiva körningsprincipen bestäms av körningsprinciper som anges av Set-ExecutionPolicy
och grupprincip instä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 Lista 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 Scope anger standardomfångsvärdet LocalMachine. Om du vill visa inställningarna för körningsprincipen använder du cmdleten Get-ExecutionPolicy
med parametern Lista .
Exempel 3: Hämta den effektiva körningsprincipen
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 Lista för att visa varje omfångs körningsprincip. Cmdleten Get-ExecutionPolicy
körs utan en parameter för att visa den gällande körningsprincipen AllSigned.
Exempel 4: Avblockera ett skript för att köra det utan att ändra körningsprincipen
Det här exemplet visar hur principen RemoteSigned-körning 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
avblockar 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 anges för standardomfånget LocalMachine.
Cmdleten Get-ExecutionPolicy
visar att RemoteSigned är den effektiva körningsprincipen för den aktuella PowerShell-sessionen.
DetStart-ActivityTracker.ps1 skriptet 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
körningsprincipen Get-ExecutionPolicy
inte ändrades visar du den gällande 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 anges i prioritetsordning. 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 omfånget 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.
- CurrentUser. Påverkar endast den aktuella användaren.
- LocalMachine. Standardomfång som påverkar alla användare av datorn.
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
Get-ExecutionPolicy
accepterar inte indata från pipelinen.
Utdata
Cmdleten returnerar alltid Obegränsad på Linux- och macOS-plattformar.
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.