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 Start-Transcript Cmdlet erstellt einen Datensatz aller oder eines Teils einer PowerShell-Sitzung in einer Textdatei. Die Aufzeichnung enthält alle Befehle, die der Benutzer eingibt, und alle Ausgaben, die auf der Konsole angezeigt werden.

Speichert das Transkript standardmäßig Start-Transcript am folgenden Speicherort unter Verwendung des Standardnamens:

  • Windows: $HOME\Documents
  • Unter Linux oder macOS: $HOME

Der Standarddateiname lautet PowerShell_transcript.<computername>.<random>.<timestamp>.txt.

Ab Windows PowerShell 5.0 Start-Transcript enthält der Hostname 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 wird Utf8NoBom standardmäßig die Codierung in der Zieldatei festgelegt.

Beispiele

Beispiel 1: Starten einer Transkriptdatei mit Standardeinstellungen

Start-Transcript

Dieser Befehl startet eine Aufzeichnung 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
Start-Transcript

Der vollständige Pfad zur Transkriptdatei wird in der $Transcript Einstellungsvariable gespeichert. Weitere Informationen zur Einstellungsvariablen $Transcript 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 Path-Parameter , um die Datei anzugeben.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Erlaubt dem Cmdlet, die Aufzeichnung an eine vorhandene schreibgeschützte Datei anzuhängen. Bei Anwendung auf eine schreibgeschützte Datei ändert das Cmdlet die Dateiberechtigung in „Lesen/Schreiben“. Das Cmdlet kann keine Sicherheitseinschränkungen außer Kraft setzen, wenn dieser Parameter verwendet wird.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeInvocationHeader

Gibt an, dass dieses Cmdlet den Zeitstempel protokolliert, wenn Befehle ausgeführt werden.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen informieren PowerShell, keine Zeichen als Escapesequenzen zu interpretieren.

Type:String
Aliases:PSPath, LP
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoClobber

Gibt an, dass dieses Cmdlet keine vorhandene Datei überschreibt. Wenn im angegebenen Pfad eine Transkriptdatei vorhanden ist, Start-Transcript wird die Datei standardmäßig ohne Warnung überschrieben.

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputDirectory

Gibt einen bestimmten Pfad und ordner an, in dem ein Transkript gespeichert werden soll. PowerShell weist automatisch den Transkriptnamen zu.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Gibt einen Speicherort für die Transkriptdatei an. Geben Sie einen Pfad zu einer .txt Datei ein. Wild Karte sind nicht zulässig. Wenn eines der Verzeichnisse im Pfad nicht vorhanden ist, schlägt der Befehl fehl.

Wenn Sie keinen Pfad angeben, Start-Transcript wird der Pfad im Wert der $Transcript globalen Variablen verwendet. Wenn Sie diese Variable nicht erstellt haben, Start-Transcript werden die Transkriptionen am Standardspeicherort und Dateinamen gespeichert.

Type:String
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

String

Dieses Cmdlet gibt eine Zeichenfolge mit einer Bestätigungsmeldung und dem Pfad zur Ausgabedatei zurück.

Hinweise

Verwenden Sie das Stop-Transcript Cmdlet, um ein Transkript zu beenden.

Um eine gesamte Sitzung aufzuzeichnen, fügen Sie den Start-Transcript Befehl zu Ihrem Profil hinzu. Weitere Informationen finden Sie unter about_Profiles.