Condividi tramite


Start-Transcript

Crea un record di una sessione di PowerShell o di una parte in un file di testo.

Sintassi

ByPath (impostazione predefinita).

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

Descrizione

Il cmdlet Start-Transcript crea un record di tutta o parte di una sessione di PowerShell in un file di testo. La trascrizione include tutti i comandi digitati dall'utente e tutti gli output visualizzati nella console.

Per impostazione predefinita, Start-Transcript archivia la trascrizione nel percorso seguente usando il nome predefinito:

  • In Windows: $HOME\Documents
  • In Linux o macOS: $HOME

Il nome file predefinito è PowerShell_transcript.<computername>.<random>.<timestamp>.txt.

A partire da Windows PowerShell 5.0, Start-Transcript include il nome host nel nome file generato di tutte le trascrizioni. Il nome file include anche caratteri casuali nei nomi per evitare potenziali sovrascrizioni o duplicazioni all'avvio simultaneo di due o più trascrizioni. L'inclusione del nome del computer è utile se si archiviano le trascrizioni in una posizione centralizzata. La stringa di caratteri casuali impedisce di indovinare il nome del file per ottenere l'accesso non autorizzato al file.

Se il file di destinazione non ha un byte Order Mark (BOM), per impostazione predefinita Start-TranscriptUtf8NoBom codifica nel file di destinazione.

Esempio

Esempio 1: Avviare un file di trascrizione con le impostazioni predefinite

Start-Transcript

Questo comando avvia una trascrizione nel percorso del file predefinito.

Esempio 2: Avviare un file di trascrizione in un percorso specifico

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

Questo comando avvia una trascrizione nel file Transcript0.txt in C:\transcripts. parametro di NoClobber impedisce la sovrascrittura dei file esistenti. Se il file Transcript0.txt esiste già, il comando ha esito negativo.

Esempio 3: Avviare un file di trascrizione con un nome univoco e archiviarlo in una condivisione file

Nell'esempio seguente viene creato un file di trascrizione con un nome univoco sufficiente per essere archiviato in un percorso condiviso. Il nome file viene costruito dal nome dell'utente, dal nome host del computer che esegue PowerShell, dalla versione di PowerShell e dalla data e dall'ora. La trascrizione viene archiviata nella condivisione file \\Server01\Transcripts.

$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

Il percorso completo del file di trascrizione viene archiviato nella variabile di preferenza $Transcript. Per altre informazioni sulla variabile di preferenza $Transcript, vedere about_Preference_Variables.

Esempio 4: Avviare una trascrizione usando un percorso relativo nei sistemi Windows

Quando si usa un percorso relativo con il parametro OutputDirectory in Windows, il percorso è relativo alla Documents directory.

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

Esempio 5: Avviare una trascrizione usando un percorso relativo nei sistemi non Windows

Quando si usa un percorso relativo con il parametro OutputDirectory nei sistemi non Windows, il percorso è relativo alla home directory.

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

Parametri

-Append

Indica che questo cmdlet aggiunge la nuova trascrizione alla fine di un file esistente. Usare il parametro Percorso per specificare il file.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Force

Consente al cmdlet di aggiungere la trascrizione a un file di sola lettura esistente. Se usato in un file di sola lettura, il cmdlet modifica l'autorizzazione file in lettura/scrittura. Il cmdlet non può eseguire l'override delle restrizioni di sicurezza quando viene usato questo parametro.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-IncludeInvocationHeader

Indica che questo cmdlet registra il timestamp quando vengono eseguiti i comandi.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LiteralPath

Specifica un percorso del file di trascrizione. A differenza del parametro Path, il valore del parametro LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. Se il percorso include caratteri di escape, racchiudilo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, UP

Set di parametri

ByLiteralPath
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-NoClobber

Indica che questo cmdlet non sovrascrive un file esistente. Per impostazione predefinita, se nel percorso specificato esiste un file di trascrizione, Start-Transcript sovrascrive il file senza avviso.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:NoOverwrite

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-OutputDirectory

Specifica un percorso e una cartella specifici in cui salvare una trascrizione. PowerShell assegna automaticamente il nome della trascrizione. Se si usa un percorso relativo, il percorso è relativo alla Documents directory in Windows. In Linux e macOS il percorso è relativo alla home directory.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByOutputDirectory
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Specifica un percorso del file di trascrizione. Immettere un percorso di un file .txt. I caratteri jolly non sono consentiti. Se una delle directory nel percorso non esiste, il comando ha esito negativo.

Se non si specifica un percorso, Start-Transcript usa il percorso nel valore della variabile globale $Transcript. Se questa variabile non è stata creata, Start-Transcript archivia le trascrizioni nel percorso e nel nome file predefiniti.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByPath
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-UseMinimalHeader

Anteporre un'intestazione breve alla trascrizione, anziché l'intestazione dettagliata inclusa per impostazione predefinita. Questo parametro è stato aggiunto in PowerShell 6.2.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

None

Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.

Output

String

Questo cmdlet restituisce una stringa contenente un messaggio di conferma e il percorso del file di output.

Note

Per arrestare una trascrizione, usare il cmdlet Stop-Transcript.

Per registrare un'intera sessione, aggiungere il comando Start-Transcript al profilo. Per altre informazioni, vedere about_Profiles.