Freigeben über


about_Execution_Policies

THEMA
    about_Execution_Policies

KURZBESCHREIBUNG
    Beschreibt Ausführungsrichtlinien von Windows PowerShell und 
    erläutert deren Verwaltung.

DETAILBESCHREIBUNG
    Mit Windows PowerShell-Ausführungsrichtlinien können Sie die 
    Bedingungen festlegen, unter denen Windows PowerShell 
    Konfigurationsdateien lädt und Skripts ausführt.

    Sie können eine Ausführungsrichtlinie für den lokalen Computer, 
    für den aktuellen Benutzer oder für eine bestimmte Sitzung 
    festlegen. Sie können auch mit einer Gruppenrichtlinie 
    Ausführungsrichtlinien für Computer und Benutzer festlegen.

    Ausführungsrichtlinien für den lokalen Computer und den aktuellen 
    Benutzer werden in der Registrierung gespeichert. Im Windows 
    PowerShell-Profil müssen Sie keine Ausführungsrichtlinien 
    festlegen. Die Ausführungsrichtlinie für eine bestimmte Sitzung 
    wird nur im Arbeitsspeicher gespeichert und geht beim Schließen 
    der Sitzung verloren.

    Die Ausführungsrichtlinie ist kein Sicherheitssystem, das 
    Benutzeraktionen einschränkt.
    Beispielsweise können Benutzer eine Richtlinie leicht umgehen, 
    indem sie den Skriptinhalt in der Befehlszeile eingeben, wenn sie kein 
    Skript ausführen können. Stattdessen erleichtert die Ausführungsrichtl
    inie den Benutzern das Festlegen grundlegender Regeln und verhindert, 
    dass gegen diese unabsichtlich verstoßen wird.


 AUSFÜHRUNGSRICHTLINIEN IN WINDOWS POWERSHELL
 ---------------------------------------------

    In Windows PowerShell sind folgende Ausführungsrichtlinien festgelegt:

    "Restricted" ist die Standardrichtlinie.

        Restricted
            - Standardausführungsrichtlinie.

            - Erlaubt das Ausführen von einzelnen Befehle, nicht 
              jedoch von Skripts. 

            - Verhindert die Ausführung aller Skriptdateien, 
              einschließlich Formatierungs- und Konfigurationsdateien 
              (".ps1xml"), Modulskriptdateien (".psm1") und Windows 
              PowerShell-Profilen (".ps1"). 
    
        AllSigned
            - Erlaubt das Ausführen von Skripts.

            - Alle Skripts und Konfigurationsdateien müssen von einem 
              vertrauenswürdigen Herausgeber signiert sein, dies gilt 
              auch für auf dem lokalen Computer erstellte Skripts.

            - Zeigt vor dem Ausführen von Skripts von Herausgebern, die 
              Sie noch nicht als vertrauenswürdig oder nicht 
              vertrauenswürdig klassifiziert haben, eine Eingabeaufforder
              ung an.

            - Ist mit dem Risiko der Ausführung nicht signierter 
              Skripts aus anderen Quellen als dem Internet sowie 
              signierter, aber mit böswilliger Absicht erstellter 
              Skripts, verbunden.
      
        RemoteSigned
            - Erlaubt das Ausführen von Skripts.

            - Erfordert eine digitale Signatur von einem 
              vertrauenswürdigen Herausgeber für Skripts und 
              Konfigurationsdateien, die aus dem Internet 
              heruntergeladen wurden (einschließlich E-Mail- und 
              Instant Messaging-Programmen).

            - Erfordert keine digitalen Signaturen für Skripts, die Sie 
              ausgeführt und auf dem lokalen Computer erstellt (nicht 
              aus dem Internet heruntergeladen) haben.

            - Ist mit dem Risiko der Ausführung signierter, aber mit 
              bösartiger Absicht erstellter Skripts verbunden.

        Unrestricted
            - Erlaubt das Ausführen nicht signierter Skripts. (Ist 
              mit dem Risiko der Ausführung mit bösartiger Absicht 
              erstellter Skripts verbunden.)

            - Warnt den Benutzer vor dem Ausführen von aus dem 
              Internet heruntergeladenen Skripts und Konfigurationsdat
              eien. 

        Bypass
            - Es findet keine Blockierung statt, und es werden keine 
              Warnungen oder Eingabeaufforderungen ausgegeben.

            - Diese Ausführungsrichtlinie wurde für Konfigurationen 
              entworfen, in denen ein Windows PowerShell-Skript in 
              eine größere Anwendung integriert ist, oder für 
              Konfigurationen, in denen Windows PowerShell die 
              Grundlage für ein Programm mit einem eigenen 
              Sicherheitsmodell bildet.

        Undefined
            - Für den aktuellen Bereich ist keine Ausführungsrichtlinie 
              festgelegt.

            - Wenn die Ausführungsrichtlinie in allen Bereichen nicht 
              definiert ("Undefined") ist, gilt die Standardausführung
              srichtlinie "Restricted".


    Hinweis: In Systemen, die UNC (Universal Naming Convention)-Pfade und 
             Internetpfade nicht unterscheiden, können durch einen UNC-Pfad 
             angegebene Skripts möglicherweise nicht für die Ausführung mit der 
             Ausführungsrichtlinie "RemoteSigned" zugelassen werden. 

 

 BEREICH VON AUSFÜHRUNGSRICHTLINIEN
 ----------------------------------
    Sie können eine Ausführungsrichtlinie festlegen, die nur in einem 
    bestimmten Bereich gilt. 

    Die gültigen Werte für "Scope" sind "Process", "CurrentUser" und 
    "LocalMachine". Beim Festlegen einer Ausführungsrichtlinie ist 
    LocalMachine der Standard. 

    Die Scope-Werte sind in ihrer Rangfolge aufgeführt.

        - Process 
             Die Ausführungsrichtlinie wirkt sich auf die aktuelle 
             Sitzung (den aktuellen Windows PowerShell-Prozess) aus. 
             Die Ausführungsrichtlinie wird in der Umgebungsvariablen 
             "$PSExecutionPolicyPreference" gespeichert. Dieser Wert 
             wird gelöscht, wenn die Sitzung, in der die Richtlinie 
             festgelegt wurde, geschlossen wird.

        - CurrentUser 
             Die Ausführungsrichtlinie wirkt sich auf nur den 
             aktuellen Benutzer aus. Sie wird im Registrierungsuntersc
             hlüssel HKEY_CURRENT_USER gespeichert. 

        - LocalMachine
             Die Ausführungsrichtlinie wirkt sich auf alle Benutzer 
             des aktuellen Computers aus. Sie wird im Registrierungsun
             terschlüssel HKEY_LOCAL_MACHINE gespeichert.

    Die Richtlinie mit Vorrang gilt auch dann für die aktuelle 
    Sitzung, wenn auf einer niedrigeren Rangebene eine restriktivere 
    Richtlinie festgelegt wurde.

    Weitere Informationen finden Sie unter "Set-ExecutionPolicy".



 ABRUFEN VON AUSFÜHRUNGSRICHTLINIEN
 ----------------------------------
    Zum Abrufen der Windows PowerShell-Ausführungsrichtlinie, die für 
    die aktuelle Sitzung gilt, verwenden Sie das Cmdlet 
    "Get-ExecutionPolicy". 

    Mit dem folgenden Befehl wird die aktuelle Ausführungsrichtlinie 
    abgerufen:

    get-executionpolicy  


    Wenn Sie alle Ausführungsrichtlinien für die aktuelle Sitzung 
    abrufen und diese in der entsprechenden Rangfolge anzeigen 
    möchten, geben Sie Folgendes ein:

        get-executionpolicy -list

    Das Ergebnis ähnelt der folgenden Beispielausgabe:

                  Scope  ExecutionPolicy
                  -----  ---------------
          MachinePolicy        Undefined
             UserPolicy        Undefined
                Process        Undefined
            CurrentUser     RemoteSigned
           LocalMachine        AllSigned
     
    In diesem Fall gilt die Ausführungsrichtlinie RemoteSigned, da 
    die Ausführungsrichtlinie für den aktuellen Benutzer Vorrang vor 
    dem Ausführungsrichtliniensatz für den lokalen Computer hat.   

    Um den Ausführungsrichtliniensatz für einen bestimmten Bereich 
    abzurufen, verwenden Sie den Scope-Parameter von Get-ExecutionPolicy. 

    Mit dem folgenden Befehl rufen Sie beispielsweise die 
    Ausführungsrichtlinie für den aktuellen Benutzerbereich ab.

        get-executionpolicy -scope CurrentUser   




 ÄNDERN VON AUSFÜHRUNGSRICHTLINIEN
 ----------------------------------
    Zum Ändern der Windows PowerShell-Ausführungsrichtlinie auf dem 
    Computer verwenden Sie das Cmdlet "Set-ExecutionPolicy". 

    Die Änderung wird sofort wirksam. Sie müssen Windows PowerShell 
    nicht neu starten. 

    Wenn Sie die Ausführungsrichtlinie für den lokalen Computer 
    (Standard) oder den aktuellen Benutzer festlegen, wird diese in 
    der Registrierung gespeichert und bleibt wirksam, bis Sie diese 
    erneut ändern.

    Wenn Sie die Ausführungsrichtlinie für den aktuellen Prozess 
    festlegen, wird diese nicht in der Registrierung gespeichert. Sie 
    bleibt wirksam, bis der aktuelle Prozess und alle untergeordneten 
    Prozesse geschlossen werden. 

    
    Hinweis: Wenn Sie unter Windows Vista und höheren Windows-Versionen 
             Befehle ausführen möchten, mit denen die Ausführungsrichtlinie 
             für den lokalen Computer (Standard) geändert wird, starten Sie 
             Windows PowerShell mit der Option "Als Administrator ausführen".
    

    Geben Sie zum Ändern der Ausführungsrichtlinie Folgendes ein:
 
        Set-ExecutionPolicy <Richtlinienname>

    Beispiel: 

        Set-ExecutionPolicy RemoteSigned



    Wenn Sie die Ausführungsrichtlinie in einem bestimmten Bereich 
    festlegen möchten, geben Sie Folgendes ein:

        Set-ExecutionPolicy <Richtlinienname> -scope <Bereich>

    Beispiel: 

        Set-ExecutionPolicy RemoteSigned -scope CurrentUser


    Ein Befehl zum Ändern der Ausführungsrichtlinie kann erfolgreich 
    ausgeführt werden, ohne dass die geltende Ausführungsrichtlinie 
    geändert wurde.

    Beispielsweise kann ein Befehl, mit dem die Ausführungsrichtlinie 
    für den lokalen Computer festgelegt wird, erfolgreich ausgeführt, 
    jedoch von der Ausführungsrichtlinie für den aktuellen Benutzer 
    überschrieben werden.
    


 ENTFERNEN VON AUSFÜHRUNGSRICHTLINIEN
 ------------------------------------
    Zum Entfernen der Ausführungsrichtlinie für einen bestimmten 
    Bereich legen Sie den Wert der Ausführungsrichtlinie auf 
    "Undefined" fest.

    Zum Beispiel entfernen Sie die Ausführungsrichtlinie für alle 
    Benutzer des lokalen Computers wie folgt:

        set-executionpolicy Undefined

    Sie können auch Folgendes eingeben:

        set-executionpolicy Undefined -scope LocalMachine

    Wenn in keinem Bereich eine Ausführungsrichtlinie festgelegt ist, 
    gilt die Standardausführungsrichtlinie "Restricted".  



 FESTLEGEN EINER AUSFÜHRUNGSRICHTLINIE IN "POWERSHELL.EXE"
 ---------------------------------------------------------
    Mit dem ExecutionPolicy-Parameter von "PowerShell.exe" können Sie 
    eine Ausführungsrichtlinie für eine neue Windows PowerShell-Sitzung 
    festlegen.
    Die Richtlinie wirkt sich nur auf die aktuelle Sitzung und 
    untergeordnete Sitzungen aus.

    Zum Festlegen der Ausführungsrichtlinie für eine neue Sitzung 
    starten Sie Windows PowerShell über die Befehlszeile (z. B. 
    "Cmd.exe" oder Windows PowerShell), und legen Sie dann die 
    Ausführungsrichtlinie über den ExecutionPolicy-Parameter von 
    "PowerShell.exe" fest.

    Beispiel:

    powershell.exe -executionpolicy -allsigned
    
    
    Die von Ihnen festgelegte Ausführungsrichtlinie wird nicht in der 
    Registrierung gespeichert.
    Stattdessen wird sie in der Umgebungsvariablen "$PSExecutionPolicy
    Preference" gespeichert. Die Variable wird gelöscht, wenn Sie die 
    Sitzung schließen, in der die Richtlinie festgelegt wurde.
     
    Während der Sitzung hat die für die Sitzung festgelegte 
    Ausführungsrichtlinie Vorrang vor einer Ausführungsrichtlinie, 
    die in der Registrierung für den lokalen Computer oder aktuellen 
    Benutzer festgelegt wurde. Sie hat jedoch keinen Vorrang vor 
    einem Ausführungsrichtliniensatz, der über eine Gruppenrichtlinien
    einstellung festgelegt wurde (Erläuterung weiter unten).
    
           

 VERWALTEN VON AUSFÜHRUNGSRICHTLINIEN MIT GRUPPENRICHTLINIEN
 -----------------------------------------------------------
    Mit der Gruppenrichtlinie "Skriptausführung aktivieren" können 
    Sie die Ausführungsrichtlinie für Computer im Unternehmen 
    verwalten. Die Gruppenrichtlinieneinstellung überschreibt die in 
    Windows PowerShell festgelegten Ausführungsrichtlinien in allen 
    Bereichen. 

    Folgende Einstellungen der Richtlinie "Skriptausführung 
    aktivieren" sind verfügbar:
    
    -- Wenn Sie "Skriptausführung aktivieren" deaktivieren, werden 
       Skripts nicht ausgeführt. Dies entspricht der Ausführungsrichtl
       inie "Restricted".

    -- Wenn Sie "Skriptausführung aktivieren" aktivieren, können Sie 
       eine Ausführungsrichtlinie auswählen. Die Gruppenrichtlinienein
       stellungen entsprechen den folgenden Ausführungsrichtlinieneins
       tellungen.

        Gruppenrichtlinie                Ausführungsrichtlinie  
        ------------                 ----------------
        Alle Skripts sind zugelassen.    Unrestricted

        Lokale Skripts und       RemoteSigned
    signierte Remoteskripts 
    sind zugelassen.   
             
        Nur signierte Skripts        AllSigned
    sind zugelassen.          

    -- Wenn "Skriptausführung aktivieren" nicht konfiguriert 
       wurde, hat dies keine Auswirkungen. Es gilt die in 
       Windows PowerShell festgelegte Ausführungsrichtlinie.


    Mit der Datei "PowerShellExecutionPolicy.adm" wird die Richtlinie 
    "Skriptausführung aktivieren" den Knoten "Computerkonfiguration" 
    und "Benutzerkonfiguration" im Gruppenrichtlinien-Editor unter 
    den folgenden Pfaden hinzugefügt.

        Unter Windows XP und Windows Server 2003:
        Administrative Vorlagen\Windows-Komponenten\Windows PowerShell

        Unter Windows Vista und höheren Versionen von Windows:
        Administrative Vorlagen\Klassische administrative Vorlage\Windows-
        Komponenten\Windows PowerShell

    Im Knoten "Computerkonfiguration" festgelegte Richtlinien haben 
    Vorrang vor Richtlinien, die im Knoten "Benutzerkonfiguration" 
    festgelegt wurden.

    Die Datei "PowerShellExecutionPolicy.adm" ist im Microsoft 
    Download Center verfügbar. Weitere Informationen finden Sie im 
    Thema zu administrativen Vorlagen für Windows PowerShell unter 
    https://go.microsoft.com/fwlink/?LinkId=131786 (möglicherweise auf 
    Englisch).
    

 VORRANG VON AUSFÜHRUNGSRICHTLINIEN
 -----------------------------------
    Wenn Sie die effektive Ausführungsrichtlinie für eine Sitzung 
    bestimmen, wertet Windows PowerShell die Ausführungsrichtlinien 
    in der folgenden Rangfolge aus:

        - Gruppenrichtlinie: Computerkonfiguration
        - Gruppenrichtlinie: Benutzerkonfiguration
        - Ausführungsrichtlinie: Prozessausführungsrichtlinie (oder 
          PowerShell.exe 
        - ExecutionPolicy): CurrentUser
        - Ausführungsrichtlinie: LocalMachine  


 VERWALTEN SIGNIERTER UND NICHT SIGNIERTER SKRIPTS
 --------------------------------------------------
    Wenn Sie in Windows PowerShell die Ausführungsrichtlinie 
    "RemoteSigned" festgelegt haben, werden keine aus dem Internet 
    heruntergeladenen Skripts ohne Signatur ausgeführt (einschließlich
    E-Mail- und Instant Messaging-Programmen).
 
    Sie können das Skript signieren oder ein nicht signiertes Skript 
    auszuführen, ohne die Ausführungsrichtlinie zu ändern.

    Weitere Informationen finden Sie unter "about_Signing".


SIEHE AUCH
    Get-ExecutionPolicy
    Set-ExecutionPolicy
    about_Signing
    "Verwaltungsvorlagen für Windows PowerShell" 
        (https://go.microsoft.com/fwlink/?LinkId=131786, möglicherweise auf 
        Englisch)