Start-Transcript
Erstellt einen Datensatz aller oder eines Teils einer PowerShell-Sitzung in einer Textdatei.
Syntax
Start-Transcript
[[-Path] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Transcript
[[-LiteralPath] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Transcript
[[-OutputDirectory] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Start-Transcript
erstellt einen Datensatz aller oder eines Teils einer PowerShell-Sitzung in einer Textdatei. Das Transkript enthält alle Befehle, die der Benutzer eingibt, und alle Ausgaben, die auf der Konsole angezeigt werden.
Standardmäßig speichert Start-Transcript
das Transkript an folgendem Speicherort unter Verwendung des Standardnamens:
- Unter Windows:
$HOME\Documents
- Unter Linux oder macOS:
$HOME
Der Standarddateiname ist PowerShell_transcript.<computername>.<random>.<timestamp>.txt
.
Ab Windows PowerShell 5.0 enthält Start-Transcript
den Hostnamen im generierten Dateinamen aller Transkriptionen. Der Dateiname enthält auch zufällige Zeichen in Namen, um potenzielle Überschreibungen oder Duplizierungen zu verhindern, wenn Sie zwei oder mehr Transkriptionen gleichzeitig starten. Das Einschließen des Computernamens ist nützlich, wenn Sie Ihre Transkripte an einem zentralen Ort speichern. Die zufällige Zeichenfolge verhindert das Erraten des Dateinamens, um nicht autorisierten Zugriff auf die Datei zu erhalten.
Wenn die Zieldatei nicht über ein Bytereihenfolgenzeichen (Byte Order Mark, BOM) verfügt, Start-Transcript
standardmäßig die Codierung in der Zieldatei Utf8NoBom
.
Beispiele
Beispiel 1: Starten einer Transkriptdatei mit Standardeinstellungen
Start-Transcript
Dieser Befehl startet eine Transkription am Standarddateispeicherort.
Beispiel 2: Starten einer Transkriptdatei an einem bestimmten Speicherort
Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber
Dieser Befehl startet eine Transkription in der Transcript0.txt
Datei in C:\transcripts
.
NoClobber Parameter verhindert, dass vorhandene Dateien überschrieben werden. Wenn die Transcript0.txt
Datei bereits vorhanden ist, schlägt der Befehl fehl.
Beispiel 3: Starten einer Transkriptdatei mit einem eindeutigen Namen und Speichern in einer Dateifreigabe
Im folgenden Beispiel wird eine Transkriptdatei mit einem Namen erstellt, der eindeutig genug ist, um an einem freigegebenen Speicherort gespeichert zu werden. Der Dateiname wird aus dem Namen des Benutzers, dem Hostnamen des Computers mit PowerShell, der Version von PowerShell und dem Datum und der Uhrzeit erstellt. Das Transkript wird in der \\Server01\Transcripts
Dateifreigabe gespeichert.
$sharepath = '\\Server01\Transcripts'
$username = $env:USERNAME
$hostname = hostname
$version = $PSVersionTable.PSVersion.ToString()
$datetime = Get-Date -f 'yyyyMMddHHmmss'
$filename = "Transcript-${username}-${hostname}-${version}-${datetime}.txt"
$Transcript = (Join-Path -Path $sharepath -ChildPath $filename).ToString()
Start-Transcript
Der vollständige Pfad zur Transkriptdatei wird in der $Transcript
Einstellungsvariable gespeichert. Weitere Informationen zur $Transcript
Einstellungsvariablen finden Sie unter about_Preference_Variables.
Parameter
-Append
Gibt an, dass dieses Cmdlet das neue Transkript am Ende einer vorhandenen Datei hinzufügt. Verwenden Sie den parameter Path, um die Datei anzugeben.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Ermöglicht dem Cmdlet, das Transkript an eine vorhandene schreibgeschützte Datei anzufügen. Bei Verwendung in einer schreibgeschützten Datei ändert das Cmdlet die Dateiberechtigung in Lese-/Schreibzugriff. Das Cmdlet kann keine Sicherheitseinschränkungen außer Kraft setzen, wenn dieser Parameter verwendet wird.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-IncludeInvocationHeader
Gibt an, dass dieses Cmdlet den Zeitstempel protokolliert, wenn Befehle ausgeführt werden.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-LiteralPath
Gibt einen Speicherort für die Transkriptdatei an. Im Gegensatz zum Path-Parameter wird der Wert des LiteralPath--Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. Einfache Anführungszeichen informieren PowerShell, keine Zeichen als Escapesequenzen zu interpretieren.
Typ: | String |
Aliase: | PSPath, LP |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-NoClobber
Gibt an, dass dieses Cmdlet keine vorhandene Datei überschreibt. Wenn eine Transkriptdatei im angegebenen Pfad vorhanden ist, überschreibt Start-Transcript
die Datei standardmäßig ohne Warnung.
Typ: | SwitchParameter |
Aliase: | NoOverwrite |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-OutputDirectory
Gibt einen bestimmten Pfad und ordner an, in dem ein Transkript gespeichert werden soll. PowerShell weist automatisch den Transkriptnamen zu.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt einen Speicherort für die Transkriptdatei an. Geben Sie einen Pfad zu einer .txt
Datei ein. Wildcards sind nicht zulässig. Wenn eines der Verzeichnisse im Pfad nicht vorhanden ist, schlägt der Befehl fehl.
Wenn Sie keinen Pfad angeben, verwendet Start-Transcript
den Pfad im Wert der globalen Variablen $Transcript
. Wenn Sie diese Variable nicht erstellt haben, speichert Start-Transcript
die Transkriptionen im Standardspeicherort und Dateinamen.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-UseMinimalHeader
Stellen Sie dem Transkript anstelle der standardmäßig enthaltenen detaillierten Kopfzeile eine kurze Kopfzeile voran. Dieser Parameter wurde in PowerShell 6.2 hinzugefügt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
Dieses Cmdlet gibt eine Zeichenfolge mit einer Bestätigungsmeldung und dem Pfad zur Ausgabedatei zurück.
Hinweise
Verwenden Sie das Cmdlet Stop-Transcript
, um ein Transkript zu beenden.
Um eine gesamte Sitzung aufzuzeichnen, fügen Sie ihrem Profil den Befehl Start-Transcript
hinzu. Weitere Informationen finden Sie unter about_Profiles.