Freigeben über


Start-Transcript

Erstellt einen Datensatz aller oder eines Teils einer PowerShell-Sitzung in einer Textdatei.

Syntax

ByPath (Standardwert)

Start-Transcript
    [[-Path] <String>]
    [-Append]
    [-Force]
    [-NoClobber]
    [-IncludeInvocationHeader]
    [-UseMinimalHeader]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByLiteralPath

Start-Transcript
    [[-LiteralPath] <String>]
    [-Append]
    [-Force]
    [-NoClobber]
    [-IncludeInvocationHeader]
    [-UseMinimalHeader]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByOutputDirectory

Start-Transcript
    [[-OutputDirectory] <String>]
    [-Append]
    [-Force]
    [-NoClobber]
    [-IncludeInvocationHeader]
    [-UseMinimalHeader]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Das Cmdlet Start-Transcript erstellt einen Bericht über alle oder einen Teil 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:

  • 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 keine Byte Order Mark (BOM) hat, wird in der Zieldatei standardmäßig die Kodierung Start-Transcript auf Utf8NoBom gesetzt.

Beispiele

Beispiel 1: Starten einer Transkriptdatei mit Standardeinstellungen

Start-Transcript

Dieser Befehl startet eine Transkription am Standarddateispeicherort.

Beispiel 2: Starten einer Transkriptdatei an einer bestimmten Position

Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber

Dieser Befehl startet ein Protokoll in der Transcript0.txt-Datei in C:\transcripts. NoClobber-Parameter verhindert, dass vorhandenen 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

Das folgende Beispiel erstellt eine Transkriptdatei mit einem Namen, 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 Einstellungsvariablen $Transcript finden Sie unter about_Preference_Variables.

Beispiel 4: Starten eines Transkripts mithilfe eines relativen Pfads auf Windows-Systemen

Wenn Sie einen relativen Pfad mit dem Parameter OutputDirectory unter Windows verwenden, ist der Pfad relativ zu Ihrem Documents Verzeichnis.

Start-Transcript -Path .\transcripts
Transcript started, output file is C:\Users\username\Documents\.\transcripts\PowerShell_transcript.HOSTNAME.8S6RpEfN.20251105152247.txt

Beispiel 5: Starten eines Transkripts mithilfe eines relativen Pfads auf Nicht-Windows-Systemen

Wenn Sie einen relativen Pfad mit dem OutputDirectory-Parameter auf Nicht-Windows-Systemen verwenden, ist der Pfad relativ zu Ihrem Heimverzeichnis.

Start-Transcript -Path ./transcripts
Transcript started, output file is /home/username/./transcripts/PowerShell_transcript.hostname.ift21QeV.20251105151236.txt

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.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:vgl

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-IncludeInvocationHeader

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

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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 wurde. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen informieren PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PSPath, EP

Parametersätze

ByLiteralPath
Position:0
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:NoOverwrite

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-OutputDirectory

Gibt einen bestimmten Pfad und ordner an, in dem ein Transkript gespeichert werden soll. PowerShell weist den Transkriptnamen automatisch zu. Wenn Sie einen relativen Pfad verwenden, ist der Pfad relativ zu Ihrem Documents Verzeichnis unter Windows. Unter Linux und macOS ist der Pfad relativ zu Ihrem Startverzeichnis.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ByOutputDirectory
Position:0
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ByPath
Position:0
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-UseMinimalHeader

Fügen Sie dem Transkript anstelle der detaillierten Standardkopfzeile eine kurze Kopfzeile hinzu. Dieser Parameter wurde in PowerShell 6.2 hinzugefügt.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-WhatIf

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

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Wi

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

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 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.