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

ExecutionPolicy

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.