PowerShell 4.0 (final version as found in Windows 8.1) has Foreach and Where built directly into arrays. This is a geek stuff, so there is no apparent advantage to it over using the traditional pipeline (except maybe for speed).
This line will get only uneven numbers from a list of numbers:复制代码 And this line will get only services that are actually running:- @(Get-Service).Where({$_.Status -eq 'Running'})
复制代码 And there is more (undocumented) stuff. This line will get all numbers that are greater than 2, but only the first 4 of them:- @(1..10).Where({$_ -gt 2}, 'skipuntil', 4)
复制代码 Finally, this line will do the same, but then converts them to the TimeSpan objects:- @(1..10).Where({$_ -gt 2}, 'skipuntil', 5).Foreach([Timespan])
复制代码 http://powershell.com/cs/blogs/tips/archive/2014/01/20/hidden-array-extensions-in-powershell-4-0.aspx |