Sdílet prostřednictvím


Get-ExecutionPolicy

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

Syntax

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

Description

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

Efektivní zásady spouštění jsou určeny zásadami spouštění, které jsou nastaveny nastavením Set-ExecutionPolicy zásad skupiny a zásadami skupiny.

Další informace najdete v tématu 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

Rutina Get-ExecutionPolicy používá parametr List k zobrazení zásad spouště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í RemoteSigned zásady. 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í efektivních zásad spouštění

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

PS> Get-ExecutionPolicy -List

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

PS> Get-ExecutionPolicy

AllSigned

Rutina Get-ExecutionPolicy používá parametr List k zobrazení zásad spouštění jednotlivých oborů. Rutina Get-ExecutionPolicy se spustí bez parametru pro zobrazení efektivních zásad AllSignedspuštění.

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 použitím rutiny ověřit, jestli je bezpečný.Unblock-File 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:

Použije Set-ExecutionPolicy parametr ExecutionPolicy k určení RemoteSigned zásady. Zásada je nastavena pro výchozí obor, LocalMachine.

Rutina Get-ExecutionPolicy ukazuje, že RemoteSigned jde o efektivní zásady spouště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 zásady provádění nezměnily, Get-ExecutionPolicy zobrazí se platné zásady RemoteSignedspuštění .

Skript Start-ActivityTracker.ps1 se spustí z aktuálního adresáře. Skript se začne spouštět, protože ji 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í.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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. Nastavte zásadu 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.
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

Vstupy

None

Do této rutiny nemůžete roušit objekty.

Výstupy

ExecutionPolicy

Rutina vždy vrací neomezené na platformách Linux a macOS. Na platformách Windows vrací aktuální zásady spouš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é.