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.