Mit den Befehlen "start-transcript" und "stop-transcript" kann eine textbasierende Aufzeichnung über alle Eingaben und Ausgaben von PowerShell gestartet bzw. beendet werden. Die Textdateien werden im Dokumenten-Ordner des Benutzers abgelegt. Beim Start von Powershell, Powershell ISE und jede andere Anwendung, die das Windows Powershell-Modul verwendet, kann eine automatische Aufzeichnung an einen fest definierten Speicherort eingeschalten werden. Die Aktivierung sowie die weitere Konfiguration muss über die Registrierung von Windows erfolgen. Zeiten werden immer im Format "JJJJMMTTHHMMSS" gespeichert.
So geht's:
- Starten Sie ...\windows\regedit.exe bzw. ...\winnt\regedt32.exe.
- Klicken Sie sich durch folgende Schlüssel (Ordner) hindurch:
HKEY_CURRENT_USER
Software
Policies
Microsoft
Windows
PowerShell
Transcription
Falls die letzten Schlüssel noch nicht existieren, dann müssen Sie diese erstellen. Dazu klicken Sie mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "Schlüssel".
- Aufzeichnung einschalten / ausschalten:
- Doppelklicken Sie auf den Schlüssel "EnableTranscripting".
Falls dieser Schlüssel noch nicht existiert, dann müssen Sie ihn erstellen. Dazu klicken Sie mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "DWORD-Wert" (REG_DWORD). Als Schlüsselnamen geben Sie "EnableTranscripting" ein.
- Ändern Sie den Wert ggf. auf "0" (deaktiviert) oder "1" (aktiviert).
- Verzeichnis festlegen:
- Doppelklicken Sie auf den Schlüssel "OutputDirectory".
Falls dieser Schlüssel noch nicht existiert, dann müssen Sie ihn erstellen. Dazu klicken Sie mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "Zeichenfolge" (REG_SZ). Als Schlüsselnamen geben Sie "OutputDirectory" ein.
- Als Zeichenfolge geben Sie ein Verzeichnis für die Aufzeichnungsdateien ein. Z. B.: "C:\PowerShell\Transcripting"
- Befehlsstartzeit aufzeichnen:
- Doppelklicken Sie auf den Schlüssel "EnableInvocationHeader".
Falls dieser Schlüssel noch nicht existiert, dann müssen Sie ihn erstellen. Dazu klicken Sie mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "DWORD-Wert" (REG_DWORD). Als Schlüsselnamen geben Sie "EnableInvocationHeader" ein.
- Ändern Sie den Wert ggf. von "0" (deaktiviert) auf "1" (aktiviert).
- Die Änderungen werden ggf. erst nach einem Neustart aktiv.
Beispiel einer Aufzeichnungsdatei:
**********************
Befehlsstartzeit: 20150320121500
**********************
PS>get-host
Name : ConsoleHost
Version : 4.0
InstanceId : 3aa8276d-5778-4108-9b3a-34a7746985c5
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : de-DE
CurrentUICulture : de-DE
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Hinweise:
- EnableTranscripting:
0 = Die automatische textbasierende PowerShell-Aufzeichnung beim Start ist deaktiviert. (Standard)
1 = Die automatische textbasierende PowerShell-Aufzeichnung beim Start wird aktiviert / eingeschalten.
- OutputDirectory:
Legt das Verzeichnis für die automatisch erstellten Power-Shell-Aufzeichnungsdateien fest. Hierbei kann es sich um einen lokalen Pfad oder ein Netzlaufwerk handeln.
- EnableInvocationHeader:
0 = Die Startzeit eines Befehls wird nicht in der Power-Shell-Aufzeichnungsdateien protokolliert.
1 = Bei jedem Befehl wird die Startzeit in der Power-Shell-Aufzeichnungsdatei mit aufgezeichnet.
- Ändern Sie bitte nichts anderes in der Registrierungsdatei. Dies kann zur Folge haben, dass Windows und/oder Anwendungsprogramme nicht mehr richtig arbeiten.
|