about_Group_Policy_Settings

Kurze Beschreibung

Beschreibt die Gruppenrichtlinie für PowerShell

Lange Beschreibung

PowerShell enthält Gruppenrichtlinie, mit denen Sie konsistente Konfigurationswerte für Windows-Computer in einer Unternehmensumgebung definieren können.

Die PowerShell Gruppenrichtlinie einstellungen befinden sich in den folgenden Gruppenrichtlinie Pfaden:

Computer Configuration\
  Administrative Templates\
    PowerShell Core

User Configuration\
  Administrative Templates\
    PowerShell Core

Gruppenrichtlinieneinstellungen im Benutzerkonfigurationspfad haben Vorrang vor Gruppenrichtlinie Einstellungen im Computerkonfigurationspfad.

PowerShell 7 bietet Gruppenrichtlinienvorlagen und in $PSHOME ein Installationsskript.

Gruppenrichtlinientools verwenden administrative Vorlagendateien (.admx, .adml), um Richtlinieneinstellungen auf der Benutzeroberfläche aufzufüllen. Dies ermöglicht Administratoren die Verwaltung registrierungsbasierter Richtlinieneinstellungen. Das InstallPSCorePolicyDefinitions.ps1 Skript installiert PowerShell Core Administrative Vorlagen auf dem lokalen Computer.

Get-ChildItem -Path $PSHOME -Filter *Core*Policy*
    Directory: C:\Program Files\PowerShell\7

Mode       LastWriteTime         Length Name
----       -------------         ------ ----
-a---      2/27/2020 12:38 AM     15861 InstallPSCorePolicyDefinitions.ps1
-a---      2/27/2020 12:28 AM      9675 PowerShellCoreExecutionPolicy.adml
-a---      2/27/2020 12:28 AM      6201 PowerShellCoreExecutionPolicy.admx

Nach der Installation der Vorlagen können Sie diese Einstellungen im Gruppenrichtlinie bearbeiten ( gpedit.msc ).

Die Richtlinien lauten wie folgt:

  • Konfiguration der Konsolensitzung: Legt einen Konfigurationsendpunkt fest, an dem PowerShell ausgeführt wird.
  • Modulprotokollierung aktivieren: Legt die LogPipelineExecutionDetails-Eigenschaft von Modulen fest.
  • Protokollierung von PowerShell-Skriptblöcken: Aktiviert die ausführliche Protokollierung aller PowerShell-Skripts.
  • Skriptausführung aktivieren: Legt die PowerShell-Ausführungsrichtlinie fest.
  • PowerShell-Aufzeichnung aktivieren: ermöglicht die Erfassung der Ein- und Ausgabe von PowerShell-Befehlen in textbasierten Transkripten.
  • Legen Sie den Standardquellenpfad für fest: Legt die Quelle für die updatable Help auf ein Verzeichnis und Update-Help nicht auf das Internet fest.

Jede PowerShell-Gruppenrichtlinie-Einstellung verfügt über eine Option ("Feld Windows PowerShell-Richtlinieneinstellung verwenden"), um den Wert einer ähnlichen Windows PowerShell Gruppenrichtlinie-Einstellung zu verwenden, die sich in den folgenden Gruppenrichtlinie befindet:

Computer Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

User Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

Hinweis

Diese PowerShell Core Administrative Vorlagen enthalten keine Einstellungen für Windows PowerShell. Weitere Informationen zum Abrufen anderer Vorlagen und zum Konfigurieren von Gruppenrichtlinien finden Sie unter Erstellen und Verwalten des zentralen Speichers für Gruppenrichtlinie Administrative Vorlagen in Windows.

Konfiguration der Konsolensitzung

Die Richtlinieneinstellung Konsolensitzungskonfiguration gibt einen Konfigurationsendpunkt an, in dem PowerShell ausgeführt wird. Dies kann ein beliebiger Endpunkt sein, der auf dem lokalen Computer registriert ist, einschließlich der standardmäßigen PowerShell-Remotingendpunkte oder eines benutzerdefinierten Endpunkts mit bestimmten Benutzerrollesfunktionen.

Aktivieren der Modulprotokollierung

Die Richtlinieneinstellung Modulprotokollierung aktivieren aktiviert die Protokollierung für ausgewählte PowerShell-Module. Die Einstellung ist in allen Sitzungen auf allen betroffenen Computern wirksam.

Wenn Sie diese Richtlinieneinstellung aktivieren und ein oder mehrere Module angeben, werden Pipelineausführungsereignisse für die angegebenen Module im Windows PowerShell protokollieren Ereignisanzeige.

Wenn Sie diese Richtlinieneinstellung deaktivieren, ist die Protokollierung von Ausführungsereignissen für alle PowerShell-Module deaktiviert.

Wenn diese Richtlinieneinstellung nicht konfiguriert ist, bestimmt die LogPipelineExecutionDetails-Eigenschaft jedes Moduls, ob die Ausführungsereignisse eines Moduls protokolliert werden. Standardmäßig ist die LogPipelineExecutionDetails-Eigenschaft aller Module auf False festgelegt.

Verwenden Sie das folgende Befehlsformat, um die Modulprotokollierung für ein Modul zu aktivieren. Das Modul muss in die Sitzung importiert werden, und die Einstellung ist nur in der aktuellen Sitzung wirksam.

Import-Module <Module-Name>
(Get-Module <Module-Name>).LogPipelineExecutionDetails = $true

Um die Modulprotokollierung für alle Sitzungen auf einem bestimmten Computer zu aktivieren, fügen Sie dem PowerShell-Profil "Alle Benutzer" () die vorherigen Befehle $Profile.AllUsersAllHosts hinzu.

Weitere Informationen zur Modulprotokollierung finden Sie unter about_Modules.

Aktivieren der Protokollierung von PowerShell-Skriptblocks

Die Richtlinieneinstellung PowerShell-Skriptblockprotokollierung aktivieren ermöglicht die Protokollierung aller PowerShell-Skripteingaben im Ereignisprotokoll Microsoft-Windows-PowerShell/Operational. Wenn Sie diese Richtlinieneinstellung aktivieren, protokolliert PowerShell Core die Verarbeitung von Befehlen, Skriptblöcken, Funktionen und Skripts – ob interaktiv oder durch Automatisierung aufgerufen.

Wenn Sie diese Richtlinieneinstellung deaktivieren, ist das Protokollieren von PowerShell-Skript-Eingaben deaktiviert. Wenn Sie die Protokollierung von Skriptblockaufrufen aktivieren, protokolliert PowerShell zusätzlich Protokollereignisse, wenn ein Befehl, ein Skriptblock, eine Funktion oder Skriptstarts oder -stops aufgerufen werden. Das Aktivieren der Protokollierung von Aufrufen führt zu einer großen Anzahl von Ereignisprotokollen.

Aktivieren der Skriptausführung

Die Richtlinieneinstellung Skriptausführung aktivieren legt die Ausführungsrichtlinie für Computer und Benutzer fest, die bestimmt, welche Skripts ausgeführt werden dürfen.

Wenn Sie die Richtlinieneinstellung aktivieren, können Sie eine der folgenden Richtlinieneinstellungen auswählen.

  • Nur signierte Skripts zulassen lässt die Ausführung von Skripts nur zu, wenn sie von einem vertrauenswürdigen Herausgeber signiert wurden. Diese Richtlinieneinstellung entspricht der AllSigned-Ausführungsrichtlinie.

  • Lokale Skripts und remote signierte Skripts zulassen ermöglicht die Ausführung aller lokalen Skripts. Skripts, die aus dem Internet stammen, müssen von einem vertrauenswürdigen Herausgeber signiert werden. Diese Richtlinieneinstellung entspricht der RemoteSigned-Ausführungsrichtlinie.

  • Alle Skripts zulassen ermöglicht die Ausführung aller Skripts. Diese Richtlinieneinstellung entspricht der Richtlinie für uneingeschränkte Ausführung.

Wenn Sie diese Richtlinieneinstellung deaktivieren, dürfen keine Skripts ausgeführt werden. Diese Richtlinieneinstellung entspricht der Richtlinie für eingeschränkte Ausführung.

Wenn Sie diese Richtlinieneinstellung deaktivieren oder nicht konfigurieren, bestimmt die Ausführungsrichtlinie, die vom Cmdlet für den Computer oder Benutzer festgelegt wird, ob Set-ExecutionPolicy Skripts ausgeführt werden dürfen. Der Standardwert ist Restricted.

Weitere Informationen finden Sie unter about_Execution_Policies.

Aktivieren der PowerShell-Transkription

Mit der Richtlinieneinstellung PowerShell-Transkription aktivieren können Sie die Eingabe und Ausgabe PowerShell Core Befehlen in textbasierten Transkripten erfassen. Wenn Sie diese Richtlinieneinstellung aktivieren, aktiviert PowerShell Core die Transkriptionsprotokollierung für PowerShell Core und alle anderen Anwendungen, die die PowerShell Core nutzen. Standardmäßig wird PowerShell Core Transkriptausgabe im Eigene Dokumente-Verzeichnis jedes Benutzer mit einem Dateinamen, der "PowerShell_transcript" enthält, sowie dem Computernamen und der Startzeit aufzeichnen. Das Aktivieren dieser Richtlinie entspricht dem Aufrufen des Start-Transcript-Cmdlets für jede PowerShell Core Sitzung.

Wenn Sie diese Richtlinieneinstellung deaktivieren, ist die Transkriptionsprotokollierung von PowerShell-basierten Anwendungen standardmäßig deaktiviert, obwohl die Transkription weiterhin über das Cmdlet Start-Transcript werden kann.

Wenn Sie die Einstellung OutputDirectory verwenden, um die Transkriptionsprotokollierung an einem freigegebenen Speicherort zu aktivieren, achten Sie darauf, den Zugriff auf dieses Verzeichnis zu beschränken, um zu verhindern, dass Benutzer die Transkripte anderer Benutzer oder Computer anzeigen.

Festlegen des Standardquellenpfads für Update-Help

Die Richtlinieneinstellung Standardquellenpfad für Update-Hilfe festlegen legt einen Standardwert für den SourcePath-Parameter des Cmdlets Update-Help fest. Diese Einstellung verhindert, dass Benutzer das Cmdlet Update-Help verwenden, um Hilfedateien aus dem Internet herunterzuladen.

Hinweis

Diese Gruppenrichtlinie wird unter Computerkonfiguration und Benutzerkonfiguration angezeigt. Allerdings ist nur die einstellung Gruppenrichtlinie unter Computerkonfiguration wirksam. Die einstellung Gruppenrichtlinie unter Benutzerkonfiguration wird ignoriert.

Das Update-Help Cmdlet lädt die neuesten Hilfedateien für PowerShell-Module herunter und installiert sie auf dem Computer. Standardmäßig Update-Help lädt neue Hilfedateien von einem vom Modul angegebenen Internetspeicherort herunter.

Sie können jedoch das Cmdlet verwenden, Save-Help um die neuesten Hilfedateien an einen Dateisystemspeicherort herunterzuladen, z. B. eine Netzwerkfreigabe, und dann das Cmdlet verwenden, Update-Help um die Hilfedateien vom Speicherort des Dateisystems abzurufen und auf dem Computer zu installieren. Der SourcePath-Parameter des Update-Help Cmdlets gibt den Speicherort des Dateisystems an.

Durch die Angabe eines Standardwerts für den SourcePath-Parameter fügt diese Gruppenrichtlinie Einstellung allen Befehlen implizit den Parameter SourcePath Update-Help hinzu. Benutzer können den angegebenen Dateisystemspeicherort als Standardwert überschreiben, indem sie einen anderen Dateisystemspeicherort eingeben. Der SourcePath-Parameter kann jedoch nicht aus dem Befehl entfernt Update-Help werden.

Wenn Sie diese Richtlinieneinstellung aktivieren, können Sie einen Standardwert für den SourcePath-Parameter angeben. Geben Sie einen Dateisystemspeicherort ein.

Wenn diese Richtlinieneinstellung deaktiviert oder nicht konfiguriert ist, gibt es keinen Standardwert für den SourcePath-Parameter des Update-Help Cmdlets. Benutzer können Hilfe aus dem Internet oder von einem beliebigen Dateisystemspeicherort herunterladen.

Weitere Informationen hierzu finden Sie unter about_Updatable_Help.

Schlüsselwörter

about_Group_Policies about_GroupPolicy

Weitere Informationen

PowerShell Core Policy RFC

about_Execution_Policies

about_Modules

about_Updatable_Help

Get-ExecutionPolicy

Set-ExecutionPolicy

Get-Module

Update-Help

Save-Help