November 24th, 2015

PowerTip: Store Current Pipeline Value in Variables with PowerShell

Doctor Scripto
Scripter

Summary: Use PowerShell to store current pipeline values in variables.

Hey, Scripting Guy! Question How can I use Windows PowerShell to improve my code by storing the current pipeline value into variables?

Hey, Scripting Guy! Answer Use the new PipelineVariable common parameter, for example:

Get-Counter -ListSet ‘LogicalDisk’,’SQLServer:Buffer Manager’,’SQLServer:Memory Manager’ -PipelineVariable CounterCategory | 

Select-Object -ExpandProperty Counter -PipelineVariable CounterName |

Where-Object {$CounterName -match ‘(sec/Transfer|Avg. Disk Queue Length|Buffer Cache|CheckPoint|Target Server|Total)’} | 

Select-Object   @{E={$CounterCategory.CounterSetName};N=”CounterSetName”},

                @{E={$CounterCategory.Description};N=”Description”},

                @{E={$CounterName};N=”Counter”}

Note  PipelineVariable was introduced in Windows PowerShell 4.0.

Author

The "Scripting Guys" is a historical title passed from scripter to scripter. The current revision has morphed into our good friend Doctor Scripto who has been with us since the very beginning.

0 comments

Discussion are closed.