Я явно использую powershell v2.0.x в 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}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1
Так почему же $ pshome указывает на каталог с именем v1.0?
PS C:\> $pshome
C:\Windows\System32\WindowsPowerShell\v1.0
Должен ли я просто записать это в раздел «Обычный бизнес» для Microsoft? :-)
Это для обратной совместимости. Скрипты V1 должны выполняться с небольшими изменениями или без них. До тех пор, пока не будут внесены серьезные изменения в версию .NET, на которой построен PowerShell, план, похоже, состоит в том, чтобы придерживаться «1».
Обратите внимание, что расширение тоже .ps1
Если это вас действительно беспокоит, или если вы хотите переместить локацию.
Скопируйте каталог в нужную версию и / или место, а затем создайте символическую ссылку на этот каталог с именем v1.0.
mklink /d "C:\Windows\System32\WindowsPowerShell\v1.0" "D:\Location\You\Want\It\To\Be\v2.2"