Freigeben über


Get-ExecutionPolicy

Ruft die Ausführungsrichtlinien für die aktuelle Sitzung ab.

Syntax

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

Beschreibung

Verwenden Sie Get-ExecutionPolicy -List, um die Ausführungsrichtlinien für jeden Bereich in der Rangfolge anzuzeigen. Verwenden Sie zum Anzeigen der effektiven Ausführungsrichtlinie für Ihre PowerShell-Sitzung Get-ExecutionPolicy keine Parameter.

Die effektive Ausführungsrichtlinie wird durch Ausführungsrichtlinien bestimmt, die von Set-ExecutionPolicy und Gruppenrichtlinie Einstellungen festgelegt werden.

Weitere Informationen finden Sie unter about_Execution_Policies.

Beispiele

Beispiel 1: Abrufen aller Ausführungsrichtlinien

Dieser Befehl zeigt die Ausführungsrichtlinien für jeden Bereich in der Reihenfolge der Rangfolge an.

Get-ExecutionPolicy -List

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

Das Get-ExecutionPolicy Cmdlet verwendet den List-Parameter , um die Ausführungsrichtlinie jedes Bereichs anzuzeigen.

Beispiel 2: Festlegen einer Ausführungsrichtlinie

In diesem Beispiel wird gezeigt, wie Eine Ausführungsrichtlinie für den lokalen Computer festgelegt wird.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List

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

Das Set-ExecutionPolicy Cmdlet verwendet den Parameter ExecutionPolicy , um die RemoteSigned-Richtlinie anzugeben. Der Parameter Scope gibt den Standardbereichswert LocalMachine an. Verwenden Sie zum Anzeigen der Ausführungsrichtlinieneinstellungen das Get-ExecutionPolicy Cmdlet mit dem List-Parameter .

Beispiel 3: Abrufen der effektiven Ausführungsrichtlinie

In diesem Beispiel wird gezeigt, wie die effektive Ausführungsrichtlinie für eine PowerShell-Sitzung angezeigt wird.

PS> Get-ExecutionPolicy -List

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

PS> Get-ExecutionPolicy

AllSigned

Das Get-ExecutionPolicy Cmdlet verwendet den List-Parameter , um die Ausführungsrichtlinie jedes Bereichs anzuzeigen. Das Get-ExecutionPolicy Cmdlet wird ohne einen Parameter ausgeführt, um die effektive Ausführungsrichtlinie AllSigned anzuzeigen.

Beispiel 4: Aufheben der Blockierung eines Skripts, um es auszuführen, ohne die Ausführungsrichtlinie zu ändern

Dieses Beispiel zeigt, wie die RemoteSigned-Ausführungsrichtlinie verhindert, dass Sie Skripts ohne Vorzeichen ausführen.

Eine bewährte Methode besteht darin, den Code des Skripts zu lesen und zu überprüfen, ob er sicher ist , bevor Sie das Unblock-File Cmdlet verwenden. Das Unblock-File Cmdlet hebt die Blockierung von Skripts auf, damit sie ausgeführt werden können, ändert jedoch die Ausführungsrichtlinie nicht.

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:

Verwendet Set-ExecutionPolicy den ExecutionPolicy-Parameter , um die RemoteSigned-Richtlinie anzugeben. Die Richtlinie ist für den Standardbereich LocalMachine festgelegt.

Das Get-ExecutionPolicy Cmdlet zeigt, dass RemoteSigned die effektive Ausführungsrichtlinie für die aktuelle PowerShell-Sitzung ist.

Das Start-ActivityTracker.ps1 Skript wird aus dem aktuellen Verzeichnis ausgeführt. Das Skript wird von RemoteSigned blockiert, da das Skript nicht digital signiert ist.

In diesem Beispiel wurde der Code des Skripts überprüft und als sicher ausgeführt überprüft. Das Unblock-File Cmdlet verwendet den Path-Parameter , um die Blockierung des Skripts aufzuheben.

Um zu überprüfen, ob Unblock-File die Ausführungsrichtlinie nicht geändert wurde, Get-ExecutionPolicy zeigt die effektive Ausführungsrichtlinie RemoteSigned an.

Das Skript ,Start-ActivityTracker.ps1 wird aus dem aktuellen Verzeichnis ausgeführt. Das Skript beginnt mit der Ausführung, da die Blockierung durch das Unblock-File Cmdlet aufgehoben wurde.

Parameter

-List

Ruft alle Ausführungsrichtlinienwerte für die Sitzung nach ihrer Rangfolge ab. Ruft standardmäßig Get-ExecutionPolicy nur die effektive Ausführungsrichtlinie ab.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Gibt den Bereich an, der von einer Ausführungsrichtlinie betroffen ist.

Die effektive Ausführungsrichtlinie wird wie folgt durch die Rangfolge bestimmt:

  • MachinePolicy. Wird von einem Gruppenrichtlinie für alle Benutzer des Computers festgelegt.
  • UserPolicy. Wird von einem Gruppenrichtlinie für den aktuellen Benutzer des Computers festgelegt.
  • Prozess: Wirkt sich nur auf die aktuelle PowerShell-Sitzung aus.
  • CurrentUser. Betrifft nur den aktuellen Benutzer.
  • LocalMachine. Standardbereich, der sich auf alle Benutzer des Computers auswirkt.
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

Eingaben

None

Get-ExecutionPolicy akzeptiert keine Eingaben aus der Pipeline.

Ausgaben

ExecutionPolicy

Das Cmdlet gibt immer Unrestricted auf Linux- und macOS-Plattformen zurück.

Hinweise

Eine Ausführungsrichtlinie ist Teil der PowerShell-Sicherheitsstrategie. Ausführungsrichtlinien bestimmen, ob Sie Konfigurationsdateien wie Ihr PowerShell-Profil laden oder Skripts ausführen können. Und gibt an, ob Skripts digital signiert werden müssen, bevor sie ausgeführt werden.