01/03/2008

Registrare il transcript della sessione PowerShell

A cura di Efran Cobisi
Tag: Output


Windows PowerShell consente di memorizzare il log (transcript, in gergo) delle sessioni della shell; questa funzionalità risulta molto utile quando si desidera tenere traccia dei comandi impartiti alla shell e dei risultati da questa ottenuti.

Per avviare la registrazione del transcript della sessione corrente è possibile utilizzare il cmdlet Start-Transcript, che memorizzerà le informazioni richieste all'interno di un file di testo, posto di default nella cartella Documenti dell'utente corrente e con un nome esplicativo della data e ora dell'avvio dell'acquisizione.
Opzionalmente è possibile indicare a Start-Transcript il percorso ed il nome del file da utilizzare per la memorizzazione, utilizzando il parametro path.

PS C:\> Start-Transcript
Transcript started, output file is C:\Documents and Settings\ikmju\Documents\
PowerShell_transcript.20080301103516.txt

PS C:\> Get-ChildItem | Select-Object -First 5
[snip]


PS C:\> Stop-Transcript
Transcript stopped, output file is C:\Documents and Settings\ikmju\Documents\
PowerShell_transcript.20080301103516.txt

Per interrompere la memorizzazione del transcript avviato in precedenza è possibile invece utilizzare il cmdlet Stop-Transcript.

Commenti


24/07/2008 12.41
nicola75ss: riduzione output
Innanzi tutto complimenti per il sito.
Mi chiedevo se fosse in qualche modo possibile tramite questo cmdlet salvare su file di testo solo i comandi digitati e non anche l'output prodotto. Tra i vari switch non ho trovato niente.
24/07/2008 19.45
efran.cobisi: RE: riduzione output
No, non è possibile con questo cmdlet e sinceramente non mi viene in mente nessun altro cmdlet in grado di farlo. Forse è tempo di scrivere un cmdlet custom... :)
18/11/2008 12.31
fabbio75: All'interno di uno script?
E' possibile inserire questo cmdlet in uno script? e se si basta inserire solo start/stop-transcript ?
18/11/2008 14.00
efran.cobisi: RE: All'interno di uno script?
Sì, certo, non c'è alcuna limitazione.


EmailVerify.NET is a Microsoft .NET software component that validates e-mail addresses. valid email