我已经在几个不同的系统上运行PowerShell v3一段时间了。有时我希望检查v2的兼容性或其他问题,所以我在现有的PowerShell中切换到v2:
PS> powershell -version 2
当然,我会使用$hosts.Version
或$PSVersionTable
进行健全性检查。但是当我这样做时,他们都报告说我还在V3 shell中。我从头开始尝试了;同样的结果。我也试过从DOS shell而不是PowerShell调用它;再次,同样的结果。然后检查我自己的理智(!)我去了另一个系统,做了相同的序列,它按预期工作 - 我确实从V3切换到V2环境。
我唯一的另一个观察是,在有效的系统上,我在启动内壳时获得了2009年的版权声明;在没有显示2012年的系统上。
最后的细节:在提到的两台机器中,它适用于Win8并且在Win7企业上失败了,但我真的怀疑这是一个相关因素。
如果(a)这是一个PS错误或者(b)我是唯一一个看到这个问题的人,我会感到非常惊讶,但是网络搜索对我来说是徒劳无功的。有关为什么会发生这种情况的任何想法?
答案 0 :(得分:1)
一个原因是故障系统上没有安装.NET 2.0,我不记得是否必须在v3之前安装它,或者你可以在升级到v3后安装它。
答案 1 :(得分:1)
快速搜索出现了这个,只是一个想法?也许V2没有安装?