ExecutionPolicy Bypass vs Unrestricted in PowerShell

Migel Hewage Nimesha 30 Januar 2023
  1. PowerShell-Ausführungsrichtlinien
  2. Anpassen der Ausführungsrichtlinie
  3. PowerShell Bypass-Richtlinie
  4. PowerShell Unrestricted-Richtlinie
ExecutionPolicy Bypass vs Unrestricted in PowerShell

Dieser Artikel stellt die Ausführungsrichtlinien in PowerShell vor, Bypass und Unrestricted.

PowerShell-Ausführungsrichtlinien

PowerShell ist eine der beliebtesten Skriptsprachen unter Systemadministratoren, Sicherheitstests und Hackern. Windows ist das beliebteste Betriebssystem für Computer.

Daher verwenden Millionen von Benutzern es. Daher wird PowerShell verwendet, um Arbeitsabläufe zu automatisieren, die Windows-API aufzurufen und Tools für Penetrationstests zu schreiben.

Aufgrund vieler Windows-Benutzer hat Microsoft Maßnahmen ergriffen, um einige integrierte Sicherheitsfunktionen hinzuzufügen. Die Ausführungsrichtlinien werden eingeführt, um zu bestimmen, welche Art von PowerShell-Skripts auf dem System ausgeführt werden können.

Dies bedeutet nicht, dass Benutzer daran gehindert werden, bestimmte PowerShell-Skripts auszuführen. Daher verhindern die Ausführungsrichtlinien unbeabsichtigte Skriptausführungen.

Bypass und Unrestricted sind zwei wichtige Ausführungsrichtlinien. Diese beiden Richtlinien haben sehr identische Verhaltensweisen.

Anpassen der Ausführungsrichtlinie

PowerShell-Benutzer können die vorhandene Richtlinie einfach ändern. Das Cmdlet Set-ExecutionPolicy dient zum Anpassen der PowerShell-Ausführungsrichtlinien.

Syntax:

Set-ExecutionPolicy
   [-ExecutionPolicy] <ExecutionPolicy>
   [[-Scope] <ExecutionPolicyScope>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Der Parameter -ExecutionPolicy gibt die PowerShell-Ausführungsrichtlinie an, z. B. Bypass und Unrestricted. Außerdem kann das Flag -Scope den Richtlinienbereich wie Process, CurrentUser oder LocalMachine angeben.

PowerShell Bypass-Richtlinie

Die Bypass-Richtlinie wird verwendet, um alle Windows PowerShell-Sicherheitsprüfungen zu überspringen. Das Risiko ist Die Bypass-Richtlinie ermöglicht es Ihnen, jedes PowerShell-Skript ohne Warnungen oder Eingabeaufforderungen auszuführen.

Daher müssen Benutzer vorsichtig sein, wenn sie die Bypass-Richtlinie verwenden. Normalerweise verwenden wir diese Richtlinie für Anwendungen, die ihr Sicherheitsmodell enthalten.

Die Ausführungsrichtlinie Bypass kann wie unten gezeigt eingerichtet werden.

Set-ExecutionPolicy -ExecutionPolicy Bypass

Ausgabe:

PowerShell-Bypass-Richtlinie

Da Sie damit jedes beliebige PowerShell-Skript ausführen können, warnt PowerShell Sie davor, dass schädliche Skripte unbeabsichtigt ausgeführt werden und Ihre privaten Daten beschädigen könnten. Sie müssen PowerShell mit Administratorrechten ausführen, um Ausführungsrichtlinien zu ändern.

Wir können die Richtlinienänderung mit dem Cmdlet Get-ExecutionPolicy bestätigen.

Get-ExecutionPolicy -List

Ausgabe:

ExecutionPolicy-Bypass-Liste

Die Richtlinienänderung betrifft den Bereich LocalMachine.

PowerShell Unrestricted-Richtlinie

Die Richtlinie Unrestricted ähnelt der Richtlinie Bypass. Der Hauptunterschied besteht darin, dass die Richtlinie Unrestricted Sie warnt und Sie nach den richtigen Berechtigungen fragt, bevor ein unsigniertes Skript ausgeführt wird.

Sie können diese Ausführungsrichtlinie mit dem Cmdlet Set-ExecutionPolicy festlegen.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Ausgabe:

Uneingeschränkte PowerShell-Richtlinie

Die obige Änderung können wir mit dem Cmdlet Get-ExecutionPolicy bestätigen.

Ausgabe:

ExecutionPolicy Unbeschränkte Liste

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.