What does the PowerShell phrase " | ? {...}" mean?

powershell

Solution

[^_^]16:46:21[1]>get-help ?

Name                              Category  Synopsis
----                              --------  --------
%                                 Alias     ForEach-Object
?                                 Alias     Where-Object
h                                 Alias     Get-History
r                                 Alias     Invoke-History

"?" is an alias for "where-object"

Problem

There are a couple of syntactic idiosyncrasies that PowerShell has that I can't find much documentation on. Today my question is the `? {...}` example ``` PS> Get-SPServiceInstance | ? {$_.GetType.toString() -eq $varname} ``` I understand what the pipe means. I'm pretty sure `$_` is used to reference the current item in some kind of loop. Can someone explain what this means? Also it would be great if someone could point me to a place where I can find out about PowerShell reserved symbols.

Original source