是什么导致“powershell -version 2”失败?

我已经在几个不同的系统上运行Power
Shell 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)我是唯一一个看到这个问题的人,我会感到很惊讶,但是网络搜索对我来说是徒劳无功的.有关为什么会发生这种情况的任何想法?

最佳答案 一个原因是.NET 2.0没有安装在故障系统上,我不记得是否必须在v3之前安装它,或者你可以在升级到v3之后安装它.

点赞