Dela via


Get-ExecutionPolicy

Hämtar körningsprinciperna för den aktuella sessionen.

Syntax

All

Get-ExecutionPolicy
    [[-Scope] <ExecutionPolicyScope>]
    [-List]
    [<CommonParameters>]

Description

Om du vill visa utförandepolicyerna 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 gruppolicyinstä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 utförandepolicy.

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 effektiv verkställighetspolicy

Det här exemplet visar hur man visar den gällande 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 utförandepolicy. 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 gällande körningspolicy 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Scope

Anger den utsträckning som påverkas av en exekveringspolicy.

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.

Parameteregenskaper

Typ:ExecutionPolicyScope
Standardvärde:Effective execution policy
Godkända värden:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:0
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

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ö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.