title: What does the PowerShell phrase " | ? {...}" mean?
body: <p>There are a couple of syntactic idiosyncrasies that PowerShell has that I can't find much documentation on. Today my question is the <code>? {...}</code> </p>
  
  <p>example</p>
  
  <pre><code>PS&gt; Get-SPServiceInstance | ? {$_.GetType.toString() -eq $varname}
  </code></pre>
  
  <p>I understand what the pipe means. I'm pretty sure <code>$_</code> is used to reference the current item in some kind of loop. </p>
  
  <p>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.</p>