PowerShell 3.0, .NET 4.0 y SharePoint 2010

Hola

Probablemente alguno de vosotros al instalar alguna actualización en vuestros entornos os habéis encontrado al abrir SP 2010 Management Shell el siguiente mensaje:

           Error: "The local farm is not accessible. Cmdlets withFeatureDependencyId are not registered."

Además resulta que cuando intentais usar algún cmdlet tenéis el siguiente error:

           "Microsoft SharePoint is not supported with versión 4.0.30319.17929 of the Microsoft .Net Runtime."

Como sabemos SharePoint 2010 esta construido en .NET 3.5 y éste se basa en .NET 2.0. Por lo cual, al usar PowerShell 3.0 .NET 4.0 , los assemblies compilados para .NET 3.5 de nuestro SharePoint 2010 no van a ser útiles.

Entonces para solucionar este problema temporalmente has de modificar el enlace SP 2010 Management Shell indicándole que use PowerShell 2.0 en vez de PowerShell 3.0

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe-NoExit - versión 2.0 "& 'C:\Program archivos de programa\Archivos comunes\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1'"

Para más información puedes echar un ojo al siguiente KB

         https://support.microsoft.com/kb/2796733/en

Gracias.

Saludos.

Héctor Calvarro Martín. SharePoint Dev/Core. Microsoft Support Escalation Engineer for EMEA.