6 The pipeline: Connecting commands

 

In chapter 4, you learned that running commands in PowerShell is the same as running commands in any other shell: you type a cmdlet name, give it parameters, and press Enter. What makes PowerShell special isn’t the way it runs commands but the way it allows multiple commands to be connected to each other in powerful, one-line sequences.

6.1 Connecting one command to another: Less work for you

PowerShell connects commands to each other by using a pipeline. The pipeline provides a way for one command to pass, or pipe, its output to another command, allowing that second command to have something to work with. This can be seen with the vertical bar | between two cmdlets (figure 6.1).

Figure 6.1 Showing the pipe | in a command

You’ve already seen this in action in commands such as Dir | more. You’re piping the output of the Dir command into the more command; the more command takes that directory listing and displays it one page at a time. PowerShell takes that same piping concept and extends it to greater effect.

PowerShell’s use of a pipeline may seem similar at first to the way UNIX and Linux shells work. Don’t be fooled, though. As you’ll come to realize over the next few chapters, PowerShell’s pipeline implementation is much richer and more modern.

6.2 Exporting to a file

6.2.1 Exporting to CSV

6.2.2 Exporting to JSON

6.2.3 Exporting to XML

6.2.4 Out-File

6.2.5 Comparing files

6.3 Piping to a file

6.4 Converting to HTML

6.5 Using cmdlets that modify the system: Killing processes

6.6 Common points of confusion

6.7 Lab

sitemap