Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm clearly running powershell v2.0.x on Windows 7.

PS C:\> $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.5444
BuildVersion                   6.1.7601.17514
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
PSRemotingProtocolVersion      2.1

So why is $pshome pointing to a directory named v1.0?

PS C:\> $pshome

Should I just file this under "Business as usual" for microsoft? :-)

share|improve this question
up vote 4 down vote accepted

This is for backwards compatability. V1 scripts should run with little or no changes. Until there are major changes to the version of .NET that PowerShell is built against, the plan seems to be to stick with "1".

Notice the extension is still .ps1 as well

share|improve this answer
Thanks... this still sounds silly. – Randy James Jun 2 '11 at 16:17
"Major" is usually characterized by a X.0 shift. :-) Oh well... – Randy James Jun 2 '11 at 16:17
powershell 2.0 is a major version of powershell but the framework is still the same – Jim B Jun 2 '11 at 16:22
c:\windows\system32 on a 64 bit system, same thing. Windows 7's version number is really 6.1.xxxx, same thing. Microsoft doesn't really care about what's intuitive. – Shane Madden Jun 2 '11 at 19:22
They care less about being intuitive, and more about not pissing off enterprise users that have hard-coded/made assumptions. – Daniel Richnak Jun 3 '11 at 2:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.