title: Using non-string as $env: variable
body: <p>I'd like to store a hashtable in an environmental variable--is that possible in Powershell?</p>
  
  <p>Here's how I'm testing this:</p>
  
  <pre><code>$env:test = @{}
  $env:test
  $env:test|gm
  </code></pre>
  
  <p>And getting confused, because output is:</p>
  
  <blockquote>
    <p>System.Collections.Hashtable</p>
    
    <p>TypeName: System.String</p>
    
    <p>Name             MemberType            Definition                     </p>
    
    <p>----             ----------            ----------                                                                          Clone            Method                System.Object Clone()<br>
    CompareTo        Method                int CompareTo(System.Object
    value), int CompareTo(string strB)
    ...</p>
  </blockquote>
  
  <p>... So when I return $env:test directly, I get 'Hashtable', but when I pipe it to get-member, 
  system.string is returned. Can someone please explain this behaviour?</p>