强制PowerShell使用.NET CLR版本2

时间:2014-01-20 14:59:11

标签: .net sharepoint powershell clr

我在Windows Server 2008 R2标准服务器(德语)上运行PowerShell 2.

我想使用SharePoint 2010管理控制台但遇到以下错误:

The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered.

Microsoft SharePoint is not supported with version 4.0.30319.1 of the Microsoft .Net Runtime.

调用get-spfarm时。

当我尝试识别版本时,我得到以下内容:

PowerShell Version

它使用CLR版本4.0.30319.1:

这似乎不受SharePoint支持。

我尝试按如下方式运行PowerShell:

PowerShell.exe -Version 2.0

但不知何故,PoweShell仍然使用CLR版本4.0.30319.1:

PowerShell Version

互联网上有很多人声称他们在安装Windows更新KB2506143时遇到了这个问题。我的机器上安装了

如何强制PowerShell使用2.0版本的.NET CRL?

4 个答案:

答案 0 :(得分:2)

似乎Server 2008上的文件是Powershell.exe.activation_config。它位于C:\ Program Files(x86)\ Common Files \ NetApp。

希望这有帮助!

答案 1 :(得分:0)

查看您的powershell.exe.config文件。您是否看到了/configuration/startup/requiredRuntime XML元素?

http://msdn.microsoft.com/en-us/library/a5dzwzc9(v=vs.110).aspx

答案 2 :(得分:0)

撤消对系统的任何更改,强制PowerShell或其他.Net应用程序使用CLR 4.请参阅here

或安装.Net 3.5(或3.0或2.0),它将安装CLR 2.如果您运行Windows 8或2012,则需要通过更改Windows功能来实现。请参阅here

答案 3 :(得分:0)

我们现在找到了解决问题的方法: 我们卸载了.NET Framework 4(因为我们在SharePoint Server上不需要这个)。 在此之后,我们可以再次使用PowerShell for SharePoint。