Cmdlet Pipeline Patterns in Windows PowerShell

Q

Are there any usage patterns for cmdlet pipelines in Windows PowerShell?

✍: FYIcenter.com

A

Yes, there are some usage patterns for cmdlet pipelines in Windows PowerShell.

1. Use cmdlets of the same noun in a single pipeline - This is to ensure that we are working on the same object type in the entire pipeline.

For example, there are 5 cmdlets with the noun of "Process": Get-Process, Start-Process, Stop-Process, Wait-Process and Debug-Process. They are perfectly designed to be used in a single pipeline.

2. Start a pipeline with a Get-* cmdlet - A Get-* cmdlet is usually designed to be used as the first cmdlet with no input object. It generates an output object for the next cmdlet.

For example, Get-Date cmdlet by default takes no input object and generates a DateTime object represents the current date and time.

3. Use a Format-* cmdlet to end a pipeline - A Format-* cmdlet is designed to accept any type of object. It will extract information out of the input object and display it according to the specified format.

For example, "... | Format-Table" will try to extract information from whatever it receives and display it in a text table format.

4. Use object utility cmdlet anywhere in a pipeline - Windows PowerShell offers several object utility cmdlets: Get-Member, Where-Object, Sort-Object, Group-Object, and Measure-Object. They are designed to take any types of objects, manipulate or convert them, and returns new objects.

For example, "... | Where-Object <condition> | ..." will take a list of objects, apply the specified search condition, and return a list of matched objects.

 

Cmdlet Output Object List in Windows PowerShell

Object Type Match in Pipeline in Windows PowerShell

Introduction of Windows PowerShell Cmdlet

⇑⇑ Windows PowerShell Tutorials

2016-11-04, 1867🔥, 0💬