How do I elegantly crossbreed Where-Object
with ForEach-Object
?
The Where-Object
cmdlet, has a very elegant way to filter objects: Which use to be the syntax:
... | Where-Object { $_.Id -eq 2 } | ...
Can now be written as:
... | Where-Object Id -eq 2 | ...
I am looking for a similar pipeline conditional statement but instead of filtering the objects in the pipeline, I want to change the concerned objects in the pipeline, like this:
... |ForEach-Object { if ($_.Id -eq 2) { $_.Name = 'test' }; $_ } | ...
In other words, is there a way to write the above syntax with less brackets, parenthesis and current object ($_
) references. Like in the self-answer but without using a additional function?
Aucun commentaire:
Enregistrer un commentaire