title: Powershell - When an object is placed on the pipeline, can it be used again later?
body: <p>I have a collection of objects which I am trying to return multiple sets of data from. Each time I want to select one of the properties of the object and sort it uniquely.</p>
  
  <p>The problem I'm getting is that I only get results the first time I use the collection. This leads me to wonder whether the objects are being "consumed" when I put them on the pipeline.</p>
  
  <p>To illustrate with an example:</p>
  
  <pre><code>$results = getMyCollectionOfObjects
  
  $results | select-object property1 | sort-object -unique property1
  $results | select-object property2 | sort-object -unique property2
  $results | select-object property3 | sort-object -unique property3
  </code></pre>
  
  <p>As far as I can tell this should result in 3 distinct lists of all the possible values for each of the three properties.</p>
  
  <p>However for me it's like the $results value is being "used up" the first time it is selected from.</p>
  
  <p>Is this the case and what should I do instead?</p>
  
  <p>Hope this is clear.</p>