SharePoint Powershell Commands vs. Powershell 3.0

Wenn man auf einem Server die Powershell 3.0 installiert hat, auf dem zusätzlich die SharePoint Dienste laufen, erhält man folgende Fehlermeldung beim Ausführen eines SharePoint-Commandlets:

“Microsoft SharePoint wird mit der Version 4.0.30319.296 der Laufzeitversion von Microsoft .NET nicht unterstützt.”

Was tun, wenn man aber die PowerShell-Commands benötigt, um z.B. eine tägliche Datensicherung der SharePoint-Farm per Skript auszuführen?

Die Lösung hierfür ist ganz einfach, man muss den Aufruf der SharePoint-Verwaltungsshell anpassen, damit diese nicht unter Powershell 3.0 ausgeführt wird, sondern unter Version 2.0.
Hier zu muss man die Verknüpfung verändern und beim Aufruf von Powershell den Parameter -Version 2.0 einfügen.

Die komplette Zeile für den Aufruf sieht dann wie folgt aus:

C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -Version 2.0 -NoExit  ” & ‘ C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 ‘ ”

Ruft man nun die SharePoint-Verwaltungsshell über die geänderte Verknüpfung auf, so kann man wieder wie gewohnt die SharePoint-Commandlets ausführen.

Update vom 20.12.2012

Von Microsoft gibt es ein offizielles Statement auf welchen Systemen es aktuell zu Problemen mit Powershell 3.0 kommt. Den Artikel findet Ihr unter folgender URL: http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx