我显然在 Windows 7 上运行 powershell v2.0.x。
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
我是否应该将其归类为微软的“照常业务”?:-)
答案1
这是为了向后兼容。V1 脚本应该几乎不做任何更改即可运行。在 PowerShell 所针对的 .NET 版本发生重大更改之前,计划似乎是坚持使用“1”。
注意扩展名仍然是 .ps1
答案2
如果这确实困扰您,或者您想移动该位置。
将目录复制到您想要的版本或位置,然后创建指向该目录的符号链接,名为 v1.0
mklink /d "C:\Windows\System32\WindowsPowerShell\v1.0" "D:\Location\You\Want\It\To\Be\v2.2"