At times when you wish to get a particular output, you get more than you asked. The default output will at times give you exactly what you want, or a little more than you can chew. In this tutorial, we will show you how to get the exact output you are looking for in PowerShell.
If you have not already done so, click open Windows PowerShell ISE.
Say you want to list out the processes currently running. You would simply type in, Get-Process, within the command pane. While the long list of results is great, maybe you want it shown in a table. So you would pipe the results and format them into a table.
You can do so by running the following command:
You may also specify if you only want the name and id properties by adding the following to the end of the above command:
So as a whole you would run this and will receive the results listed by name and id within an organized table rather than a long list.
You can also put in conditional selectors, or filters. The following pipes the processes, into a selector that selects only the processes whose ID is greater than 1000, then pipes that into a table formatter that selects the Name, CPY and Id properties.
Example
Get-Process | Where-Object {$_.Id "gt 1000} | Format-Table "property Name,
CPU, Id
The Where-Object cmdlet can be thought of as a filter. This particular cmdlet is also aliased as Where, so no worries, either way you type it out, the functionality is the same.
Apart from being able to filter the results before piping, you may also sort results.
Sorting results is implemented like the code below presents:
Example
Get-Process | Where-Object {$_.Id "gt 1000} | Select-Object Name, CPU, Id |
Sort-Object, Id
Remarks last but not least…
As you can see, returning objects instead of text is actually far more powerful. Depending on what you are looking for, piping commands shortens the length of code. If this were done in PowerShell scripts rather than commands, it would take many lines of code. As you see, everything was done in one line, just keep in mind, not everything in PowerShell can be done in the command prompt. Join us next time for additional Windows PowerShell tutorials.