Get-ExecutionPolicy
Ruft die Ausführungsrichtlinien für die aktuelle Sitzung ab.
Syntax
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Beschreibung
Um die Ausführungsrichtlinien für jeden Bereich in der Reihenfolge der Rangfolge anzuzeigen, verwenden Sie Get-ExecutionPolicy -List
. Verwenden Sie zum Anzeigen der effektiven Ausführungsrichtlinie für Ihre PowerShell-Sitzung Get-ExecutionPolicy
ohne 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
Mit diesem Befehl werden die Ausführungsrichtlinien für jeden Bereich in der Rangfolge angezeigt.
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 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 Set-ExecutionPolicy
Cmdlet verwendet den ExecutionPolicy-Parameter , um die RemoteSigned
Richtlinie anzugeben. Der Scope-Parameter gibt den Standardwert für den Bereich an LocalMachine
.
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 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 Ausführungsrichtlinie RemoteSigned
verhindert, dass Sie nicht signierte Skripts 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 aber 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:
Der Set-ExecutionPolicy
verwendet den ExecutionPolicy-Parameter , um die RemoteSigned
Richtlinie anzugeben. Die Richtlinie ist für den Standardbereich festgelegt. LocalMachine
Das Get-ExecutionPolicy
Cmdlet zeigt, dass es RemoteSigned
sich um die effektive Ausführungsrichtlinie für die aktuelle PowerShell-Sitzung handelt.
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 an. RemoteSigned
Das Skript Start-ActivityTracker.ps1
wird aus dem aktuellen Verzeichnis ausgeführt. Das Skript beginnt mit der Ausführung, da es vom Unblock-File
Cmdlet aufgehoben wurde.
Parameter
-List
Ruft alle Ausführungsrichtlinienwerte für die Sitzung 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 durch die Rangfolge wie folgt bestimmt:
MachinePolicy
. Durch einen Gruppenrichtlinie für alle Benutzer des Computers festgelegt.UserPolicy
. Wird von einem Gruppenrichtlinie für den aktuellen Benutzer des Computers festgelegt.Process
. Wirkt sich nur auf die aktuelle PowerShell-Sitzung aus.LocalMachine
. Standardbereich, der sich auf alle Benutzer des Computers auswirkt.CurrentUser
. Wirkt sich nur auf den aktuellen Benutzer aus.
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
Sie können keine Objekte an dieses Cmdlet übergeben.
Ausgaben
Das Cmdlet gibt auf Linux- und macOS-Plattformen immer uneingeschränkt zurück. Auf Windows-Plattformen wird die aktuelle Ausführungsrichtlinie zurückgegeben.
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 vor der Ausführung digital signiert werden müssen.