为什么 $pshome 位于“v1.0”目录中?

为什么 $pshome 位于“v1.0”目录中?

我显然在 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"

相关内容