Microsoft Exchange 2010 PowerShell Cookbook
上QQ阅读APP看书,第一时间看更新

Logging shell sessions to a transcript

You may find it useful at times to record the output of your shell sessions in a log file. This can help you save the history of all the commands you've executed and determine the success or failure of automated scripts. In this recipe, you'll learn how to create a PowerShell transcript.

How to do it...

  1. To create a transcript, execute the Start-Transcript cmdlet:
    Start-Transcript -Path c:\logfile.txt
  2. You can stop recording the session using the Stop-Transcript cmdlet:
    Stop-Transcript

How it works...

When starting a PowerShell transcript, you can specify a path and a file name that will be used to record your commands and their output. The use of the -Path parameter is optional; if you do not provide a file path, the cmdlet will create a transcript file with a random name in the default documents folder in your profile path, as shown in the following screenshot:

When you are done, you can run the Stop-Transcript cmdlet or simply exit the shell. You can use the -Append parameter with the Start-Transcript cmdlet to add a new transcript to an existing log file. When doing so, you'll need to specify the name of the file you want to append to using the -Path parameter.

You can record your entire session every time you start the Exchange Management Shell by adding the Start-Transcript cmdlet to your user profile. If you choose to do this, make sure you specify the same log file to use every time the shell starts and use the -Append parameter so that each session is added to the log file every time.

There's more...

By default, only the output from PowerShell cmdlets will be recorded in your transcript. If you execute an external program, such as the Exchange eseutil.exe utility, the output from this command will not be saved in your transcript file, even though it was run within the current shell session. You can pipe external programs to the Out-Default cmdlet and this will force the output to be stored in your transcript.

See also

  • Setting up a Profile in Chapter 1, PowerShell Key Concepts