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 powershell-sessionen 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 exekveringsprinciper
Det här kommandot visar utförandepolicyer 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 exekveringsprincip.
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
princip. Parametern Scope anger standardomfångsvärdet LocalMachine
.
Om du vill visa körpolicyns inställningar använder du cmdleten Get-ExecutionPolicy
med parametern och listan.
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 exekveringsprincip. Cmdleten Get-ExecutionPolicy
körs utan en parameter för att visa den effektiva 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 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 med hjälp av cmdleten Unblock-File
. Cmdleten Unblock-File
avblockerar skript så att de kan köras, men ändrar inte exekveringspolicyn.
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
princip. Policyn har angetts för standardomfånget, LocalMachine
.
Cmdleten Get-ExecutionPolicy
visar att RemoteSigned
är 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.
För att kontrollera att Unblock-File
inte ändrade körningsprincipen visar Get-ExecutionPolicy
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 standardinställning hämtar Get-ExecutionPolicy
endast den effektiva körningspolicyn.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Scope
Anger det omfång som påverkas av en körningsprincip.
Den effektiva verkställandepolicyn bestäms av prioritetsordningen enligt följande:
-
MachinePolicy
. Anges genom grupprincip för alla användare av datorn. -
UserPolicy
. Anges av en grupppolicy 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.
Typ: | ExecutionPolicyScope |
Godkända värden: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
Position: | 0 |
Standardvärde: | Effective execution policy |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | 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örningspolicyn.
Kommentarer
En exekveringsprincip ä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.