title: Powershell PSCustomObject Extracting values
body: <p>When creating and working with PSCustomObjects which result in a NoteProperty member with a 'Definition' (as shown below), is there any easy, programmatic way to select the values from the definition fields without resorting to splitting the strings? </p>
  
  <p>For example below, is there a 'good' way to extract the value 'silver' from the field of name 'token' that does not requre traditional string manipulations? I've been messing around with select and -ExpandProperty but getting no-where fast and would appreciate a nudge in the right direction.</p>
  
  <pre><code>TypeName: System.Management.Automation.PSCustomObject
  Name   MemberType   Definition          
  ----   ----------   ----------          
  bsw    NoteProperty decimal bsw=3.14    
  name   NoteProperty string name=chris
  token  NoteProperty string token=silver 
  volume NoteProperty decimal volume=17.22
  </code></pre>
  
  <p>Thanks.</p>
  
  <p>Update: Following guidance from Thomas I came up with this function to extract Noteproperty members from a PSObject and return a Hashtable with the names of the fields and the values:</p>
  
  <pre><code>function convertObjectToHash($psObj) {
      $hashBack = @{}
  
      try {
          $psObjFieldNames = $psObj | get-member -type NoteProperty | select "Name"
          $psObjFieldNames | foreach-object { 
              $hashBack.Add($_.Name,$psObj.$($_.Name)) }
          }catch{ "Error: $_" }
  
      return $hashBack
  }
  </code></pre>
  
  <p>Thanks!</p>