Dela via


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

ExecutionPolicy

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.