PowerShell wird immer beliebter und löst in vielen Bereichen die bisherigen bekannten Befehle der Eingabeaufforderung ab. Aus diversen Gründen wäre es manchmal durchaus ratsam, wenn alle PowerShell Befehle und deren Ausgaben und Ergebnisse mitprotokolliert werden würden.

Dieses PowerShell Protokoll gibt es wirklich, dass wissen allerdings die wenigsten Windows Anwender. Ihr könnt über eine Gruppenrichtlinie Windows dazu veranlassen, dass alles, was in der PowerShell Konsole ausgeführt wird, automatisch in Textdateien geschrieben werden. Wie dies funktioniert, beschreibt dieser kurze Artikel.

Um die PowerShell Protokollierung einzuschalten, müsst Ihr folgende Gruppenrichtlinie aufrufen. Sie liegt im GPO-Pfad

Computerkonfiguration / Administrative Vorlagen / Windows-Komponenten / Windows PowerShell

und die GPO trägt den Namen

PowerShell Aufzeichnung aktivieren

PowerShell Aufzeichnung aktivieren

Wenn Ihr diese GPO „PowerShell Aufzeichnung aktivieren“ aktiviert, so müsst Ihr noch den Pfad angeben, wo Windows die PowerShell Protokolldateien hinschreiben soll.

Microsoft gibt noch folgende Informationen zu dieser PowerShell-Gruppenrichtlinie bekannt.

Mit dieser Richtlinieneinstellung können Sie die Eingabe und Ausgabe von Windows PowerShell-Befehlen in textbasierten Aufzeichnungen erfassen.

Wenn Sie diese Richtlinieneinstellung aktivieren, aktiviert Windows PowerShell Aufzeichnungen für Windows PowerShell, Windows PowerShell ISE und alle anderen
Anwendungen, die das Windows PowerShell-Modul nutzen. Windows PowerShell zeichnet die Aufzeichnungsausgabe standardmäßig im Verzeichnis „Eigene Dateien“
jedes Benutzers auf. Der Dateiname enthält neben ‚PowerShell_transcript‘ den Computernamen und die Startzeit. Das Aktivieren dieser Richtlinie entspricht
dem Aufrufen des Start-Transcript-Cmdlets für jede Windows PowerShell-Sitzung.

Wenn Sie diese Richtlinieneinstellung deaktivieren, ist die Aufzeichnung PowerShell-basierter Anwendungen standardmäßig deaktiviert, obwohl sie über das
Start-Transcript-Cmdlet trotzdem aktiviert werden kann.

Wenn Sie über die OutputDirectory-Einstellung die Aufzeichnungsprotokollierung an einem gemeinsamem Ort aktivieren, sollten Sie den Zugriff auf dieses Verzeichnis beschränken, um Benutzer daran zu hindern,
die Aufzeichnungen anderer Benutzer oder Computer einzusehen.

Hinweis: Diese Richtlinieneinstellung ist im Gruppenrichtlinien-Editor sowohl unter „Computerkonfiguration“ als auch unter „Benutzerkonfiguration“ vorhanden. Die Richtlinieneinstellung „Computerkonfiguration“ hat Vorrang vor der Richtlinieneinstellung „Benutzerkonfiguration“.

Nach der Aktivierung ist die Protokollierung aller PowerShell Eingaben bereits aktiv. Wir haben Euch dies hier nachfolgend einmal exemplarisch abgebildet.

PowerShell Protokolldatei

Wie Ihr seht, wird nach dem Ausführen eines PowerShell Befehls in der PowerShell Konsole automatisch ein Unterverzeichnis unter dem angegebenen Protokollverzeichnis (hier C:\PowerShell-Protokoll) mit dem Tagesdatum angelegt.

In diesem neuen Verzeichnis gibt es dann ein PowerShell Transcript, also eine Textdatei mit allen notwendigen Informationen zum Datum, Uhrzeit, PC Name, ausführender User, Windows Buildversion, Computername usw.

Desweiteren wird das genaue Datum, die genaue Uhrzeit und der abgesetzte PowerShell Befehl protokolliert. Auch das Ergebnis das Befehls wird mit in die Textdatei geschrieben.

Somit habt Ihr mit dieser GPO das perfekte Kontrollinstrument für PowerShell Befehle und Scripte und Ihr könnt alles problemlos nach verfolgen, ohne dass Ihr Euch darum kümmern müsst.

Abschließend findet Ihr hier noch weitere PowerShell Beiträge, die wir vor kurzem erst veröffentlicht haben.

– Vorscrollen deaktivieren in der Eingabeaufforderung und PowerShell Konsole
– Legacykonsole – Erweitere Konsoleneinstellungen und Verbesserungen der Eingabeaufforderung & PowerShell Konsole
– Transparente Anzeige der Eingabeaufforderung oder der PowerShell Konsole ändern
– Eingabeaufforderung (CMD) und PowerShell per Tastenkombination schnell als Administrator aufrufen
– Eingabeaufforderung oder PowerShell im Vollbildmodus öffnen
– Im Win+X Menü Eingabeaufforderung durch PowerShell ersetzen
– Eingabeaufforderung durch Powershell im Startmenü ersetzen