Sdílet prostřednictvím


Get-ExecutionPolicy

Získá zásady spouštění pro aktuální relaci.

Syntax

All

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

Description

Chcete-li zobrazit zásady provádění pro každý obor v pořadí priorit, použijte Get-ExecutionPolicy -List. Pokud chcete zobrazit efektivní zásady spouštění pro relaci PowerShellu, použijte Get-ExecutionPolicy bez parametrů.

Efektivní zásady spouštění jsou určeny jak zásadami spouštění nastavenými prostřednictvím Set-ExecutionPolicy, tak i nastaveními zásad skupiny.

Další informace naleznete v části about_Execution_Policies.

Příklady

Příklad 1: Získání všech zásad spuštění

Tento příkaz zobrazí zásady spouštění pro každý obor v pořadí podle priority.

Get-ExecutionPolicy -List
Scope          ExecutionPolicy
-----          ---------------
MachinePolicy  Undefined
UserPolicy     Undefined
Process        Undefined
CurrentUser    AllSigned
LocalMachine   Undefined

Cmdlet Get-ExecutionPolicy používá parametr List k zobrazení zásady provádění jednotlivých oborů.

Příklad 2: Nastavení zásad spuštění

Tento příklad ukazuje, jak nastavit zásady spouštění pro místní počítač.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       AllSigned
 LocalMachine    RemoteSigned

Rutina Set-ExecutionPolicy používá parametr ExecutionPolicy k určení zásady RemoteSigned. Parametr Scope určuje výchozí hodnotu oboru LocalMachine. Pokud chcete zobrazit nastavení zásad spouštění, použijte rutinu Get-ExecutionPolicy s parametrem List.

Příklad 3: Získání účinné zásady provádění

Tento příklad ukazuje, jak zobrazit platné zásady spouštění pro relaci PowerShell.

PS> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       AllSigned
 LocalMachine    RemoteSigned

PS> Get-ExecutionPolicy

AllSigned

Cmdlet Get-ExecutionPolicy používá parametr List k zobrazení zásady provádění jednotlivých oborů. Cmdlet Get-ExecutionPolicy se spustí bez parametru pro zobrazení účinné zásady spuštění AllSigned.

Příklad 4: Odblokování spuštění skriptu beze změny zásad spuštění

Tento příklad ukazuje, jak RemoteSigned zásady spouštění brání spuštění nepodepsaných skriptů.

Osvědčeným postupem je přečíst kód skriptu a před pomocí rutiny ověřit, že je bezpečné . Rutina Unblock-File odblokuje skripty, aby mohly běžet, ale nemění zásady spouštění.

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 používá parametr ExecutionPolicy k určení zásady RemoteSigned. Zásada je nastavena pro výchozí obor, LocalMachine.

Cmdlet Get-ExecutionPolicy ukazuje, že RemoteSigned je efektivní zásada provádění pro aktuální relaci PowerShellu.

Skript Start-ActivityTracker.ps1 se spustí z aktuálního adresáře. Skript je blokovaný RemoteSigned, protože skript není digitálně podepsaný.

V tomto příkladu byl kód skriptu zkontrolován a ověřen jako bezpečný ke spuštění. Rutina Unblock-File používá k odblokování skriptu parametr Path.

Pokud chcete ověřit, že Unblock-File nezměnil zásady provádění, Get-ExecutionPolicy zobrazí platné zásady provádění RemoteSigned.

Skript, Start-ActivityTracker.ps1 se spustí z aktuálního adresáře. Skript se začne spouštět, protože ho odblokovala rutina Unblock-File.

Parametry

-List

Získá všechny hodnoty zásad spuštění pro relaci. Ve výchozím nastavení Get-ExecutionPolicy získá pouze efektivní zásady spuštění.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Scope

Určuje obor, který má vliv na zásady provádění.

Efektivní zásady spouštění jsou určeny pořadím priority následujícím způsobem:

  • MachinePolicy. Nastavte zásadu skupiny pro všechny uživatele počítače.
  • UserPolicy. Nastaveno zásadou skupiny pro aktuálního uživatele počítače.
  • Process. Ovlivňuje pouze aktuální relaci PowerShellu.
  • LocalMachine. Výchozí obor, který má vliv na všechny uživatele počítače.
  • CurrentUser. Ovlivňuje pouze aktuálního uživatele.

Vlastnosti parametru

Typ:ExecutionPolicyScope
Default value:Effective execution policy
Přípustné hodnoty:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Do tohoto cmdletu nemůžete předávat objekty.

Výstupy

ExecutionPolicy

Tato cmdlet vrátí aktuální zásady spuštění.

Poznámky

Zásady spouštění jsou součástí strategie zabezpečení PowerShellu. Zásady spouštění určují, jestli můžete načíst konfigurační soubory, například profil PowerShellu, nebo spouštět skripty. A jestli musí být skripty před spuštěním digitálně podepsané.