Practical PowerShell Logs

All scheduled PowerShell files should generate LOGs. “Start-Transcript” is a great cmdlet for this. Adding a few more features can boost operations support. LOGs answer essentials support questions like:

Which parent PS1 generated this LOG?

Did script perform needed functions?

Any errors?

How long did it take?

Which user and computer ran the script?

Below is code template I recommend to for scheduled PowerShell jobs to generate a LOG. Key features include:

Auto detect current folder and script PS1

Create \LOG\ subfolder

Prefix to match parent PS1

Suffix with unique date time stamp

Elapsed run duration (Days, Hours, Minutes)

Thank you to @ToddKlindt for improvements to formula and elapsed time. Cheers.