Book Image

PowerShell Troubleshooting Guide

By : Mike Shepard
Book Image

PowerShell Troubleshooting Guide

By: Mike Shepard

Overview of this book

Table of Contents (15 chapters)
PowerShell Troubleshooting Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using Write-* cmdlets


When writing PowerShell functions, it is often confusing to know exactly which cmdlet should be used to produce output. There are a number of cmdlets and methods that seem to do the same thing at first glance. The most important thing to remember in this context is that functions should always write objects to the output stream. In order to do this, there are several correct ways and one incorrect way that is frequently used.

Write-Host

PowerShell scripters who are beginners see the Write-Host cmdlet as a simple way to produce output. It is similar to a PRINT statement in many languages and if output to the console is the goal, it is a perfect fit. Unfortunately, the output is made solely to the console (or, in PowerShell terminology, the host). The following screenshot shows the main issue with Write-Host:

Even though the function seems to output the string, attempting to capture the output in a variable shows that the value isn't actually output, but instead is simply...