Chapter 9. The pipeline, deeper

At this point, you’ve learned to be pretty effective with PowerShell’s pipeline. Running commands (for example, Get-Process | Sort VM -desc | ConvertTo-HTML | Out-File procs.html) is powerful, accomplishing in one line what used to take several lines of script. But you can do even better. In this chapter, we dig deeper into the pipeline and uncover some of its most powerful capabilities.

9.1. The pipeline: enabling power with less typing

One of the reasons we like PowerShell so much is that it enables us to be more effective administrators without having to write complex scripts, as we used to have to do in VBScript. But the key to powerful one-line commands lies in the way the PowerShell pipeline works.

Let us be clear: You could skip this chapter and still be effective with PowerShell, but you’d in most cases have to resort to VBScript-style scripts and programs. Although PowerShell’s pipeline capabilities can be complicated, they’re probably easier to learn than more-complicated programming skills. By learning to manipulate the pipeline, you can be much more effective without needing to write scripts.

The whole idea here is to get the shell to do more of your work for you, with as little typing as possible. We think you’ll be surprised at how well the shell can do that!

9.2. How PowerShell passes data down the pipeline

9.3. Plan A: pipeline input ByValue

9.4. Plan B: pipeline input ByPropertyName

9.5. When things don’t line up: custom properties

9.6. Parenthetical commands

9.7. Extracting the value from a single property

9.8. Lab

9.9. Further exploration

9.10. Lab answers