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 Reihenfolge der Rangfolge anzuzeigen. Um die effektive Ausführungsrichtlinie für Ihre PowerShell-Sitzung anzuzeigen, verwenden Sie Get-ExecutionPolicy ohne Parameter.

Die effektive Ausführungsrichtlinie wird durch Ausführungsrichtlinien bestimmt, die durch Set-ExecutionPolicy- und Gruppenrichtlinieneinstellungen 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 Cmdlet Get-ExecutionPolicy verwendet den Parameter List, um die Ausführungsrichtlinie jedes Bereichs anzuzeigen.

Beispiel 2: Festlegen einer Ausführungsrichtlinie

In diesem Beispiel wird gezeigt, wie Sie eine Ausführungsrichtlinie für den lokalen Computer festlegen.

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

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

Das cmdlet Set-ExecutionPolicy verwendet den parameter ExecutionPolicy, um die RemoteSigned richtlinie anzugeben. Der parameter Scope gibt den Standardwert LocalMachinean. Verwenden Sie zum Anzeigen der Ausführungsrichtlinieneinstellungen das Cmdlet Get-ExecutionPolicy mit dem Parameter List.

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 Cmdlet Get-ExecutionPolicy verwendet den Parameter List, um die Ausführungsrichtlinie jedes Bereichs anzuzeigen. Das cmdlet Get-ExecutionPolicy wird ohne Parameter ausgeführt, um die effektive Ausführungsrichtlinie AllSignedanzuzeigen.

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

In diesem Beispiel wird gezeigt, wie die RemoteSigned Ausführungsrichtlinie verhindert, dass nicht signierte Skripts ausgeführt werden.

Es empfiehlt sich, den Code des Skripts zu lesen und zu überprüfen, ob es sicher ist, bevor das Cmdlet Unblock-File verwenden. Das Unblock-File Cmdlet entsperrt Skripts, sodass sie ausgeführt werden können, aber die Ausführungsrichtlinie nicht ändert.

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:

Die Set-ExecutionPolicy verwendet den Parameter ExecutionPolicy, um die RemoteSigned-Richtlinie anzugeben. Die Richtlinie wird für den Standardbereich LocalMachinefestgelegt.

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

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

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

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

Das Skript, Start-ActivityTracker.ps1 wird aus dem aktuellen Verzeichnis ausgeführt. Das Skript beginnt mit der Ausführung, da es vom Cmdlet Unblock-File entsperrt wurde.

Parameter

-List

Ruft alle Ausführungsrichtlinienwerte für die Sitzung ab. Standardmäßig erhält Get-ExecutionPolicy nur die effektive Ausführungsrichtlinie.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Scope

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

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

  • MachinePolicy. Festgelegt durch eine Gruppenrichtlinie für alle Benutzer des Computers.
  • UserPolicy. Festgelegt durch eine Gruppenrichtlinie für den aktuellen Benutzer des Computers.
  • Process. Betrifft nur die aktuelle PowerShell-Sitzung.
  • LocalMachine. Standardbereich, der sich auf alle Benutzer des Computers auswirkt.
  • CurrentUser. Betrifft nur den aktuellen Benutzer.
Typ:ExecutionPolicyScope
Zulässige Werte:CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy
Position:0
Standardwert:Effective execution policy
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

ExecutionPolicy

Das Cmdlet gibt immer Uneingeschränkte auf Linux- und macOS-Plattformen zurück. Auf Windows-Plattformen gibt sie die aktuelle Ausführungsrichtlinie 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 ob Skripts digital signiert werden müssen, bevor sie ausgeführt werden.