title: Why is PSModulePath not a PowerShell variable
body: <p>I keep looking at this, and I cannot for the life of me understand why <code>PSModulePath</code> is an environment variable. Is there <em>any</em> rational reason for this?</p>
  
  <p>To explain further, <code>$profile</code> is a PowerShell variable. You can invoke it simply by typing <code>$profile</code>. This makes sense. However, <code>PSModulePath</code> has absolutely no relevance or function outside of PowerShell, and yet, for some unintelligble decision, it has been set as an environment variable. i.e. it cannot be viewed by <code>$PSModulePath</code>, and can only be viewed by doing <code>echo $env:PSModulePath</code>. Making it even more irrational is that there is a <code>$PSModuleAutoLoadingPreference</code> which again is a PowerShell variable and not an Environment variable ...</p>
  
  <p>The <code>PSModulePath</code> variable is 100% only for PowerShell. Can anyone explain a rationale for this extremely odd setup?</p>