FeatureDependency ID – Sharepoint Shell verweigert den Dienst


Andreas Rauch

 

Ziemlich ärgerlich, wenn man mit Sharepoint Shell arbeiten möchte und es kommt folgende Fehlermeldung:

image

Auf die lokale Farm kann nicht zugegriffen werden. Cmdlets mit 'FeatureDependencyID sind nicht registriert.

 

Grundsätzlich sind mir drei Arten bekannt, wie es zu diesem Fehler kommt. Entweder hat man nicht das entsprechende Shell Recht in der Sharepoint_Konfigurationsdatenbank, es liegt eine “Art” Fehler bei Powershell vor oder es liegt an den Rechten auf dem Server (UAC)

Fangen wir doch mal mit letzten zuerst an.

Problem Benutzerkontensteuerung

Wenn sie die Sharepoint Verwaltungsshell öffnen, starten Sie diese immer mit “Als Administrator ausführen”!

image

 

So, nun aber zu den zwei wahrscheinlicheren Problemen. Nummer eins auf der Liste: Sie haben seitens Sharepoint kein Recht die Powershell auszuführen. Das kann entweder manuell oder per PowerShell erledigt werden.

Natürlich sollten Sie auch lokaler Administrator sein! Zwinkerndes Smiley

Variante 1: Manueller Eintrag in SQL Server und Editieren von Gruppen

In der Sharepoint Konfigurationsdatenbank gibt es eine Datenbankrolle “Sharepoint _Shell_Access”. Diese regelt, wer die Sharepoint Shell innerhalb der Farm verwenden darf.

image

Ehrlich gesagt, ist dies am leichtesten nicht innerhalb der Datenbank zu erledigen, sondern im Bereich Sicherheit unter den Ameldungen:

Hier können Sie mit einem KLick sozusagen, die Anmeldung hinzufügen und unter Benutzerzuordnungen, die neue Anmeldung gleich der Datenbankrolle in der SP Konfigurationsdatenbank zuweisen.

SNAGHTML1328606

Der Benutzer muss außerdem auf allen Webservern in der Farm zu der Gruppe der WSS_Admin_WPG hinzugefügt werden!

 

Variante 2: Per Sharepoint Shell

Wie so oft hat die Sharepoint Verwaltungshell auch dafür wieder einen passenden Befehl:

Add-SPShellAdmin -Username [-database]

Der Parameter –database wird nur gebraucht, wenn sie einer speziellen Datenbank die Rolle Sharepoint_Shell_Access und den User hinzufügen wollen. IN der Konfigurationsdatenbank wird er auf jeden Fall hizugefügt und die Rolle, falls nicht vorhanden, ebenso.

Zitat aus der Onlinedokumentation:

“…Der Benutzer wird der Rolle WSS_Admin_WPG auf allen Webservern hinzugefügt, wenn er der Rolle SharePoint_Shell_Access hinzugefügt wird. Wenn die Zieldatenbank keine Rolle SharePoint_Shell_Access aufweist, wird

Mit Get-SPShellAdmin können Sie auch bereits enthaltene User auflisten lassen:

SNAGHTML135a604

oder auch wieder entfernen mit Remove-SPShellAdmin.

 

Letztes Problem: Powershell

Falls das immer noch nicht klappen sollte, dan nkann das durchaus an der Powershell selbst liegen:

Probieren Sie doch mal folgendes aus:

Öffnen Sie die Sharepoint Verwaltungsshell und geben $Host ein:

image

Finden Sie hier unter Version auch die 3.0?

Dann haben wir das Problem, dass wir nur mit der Version 2.0 arbeiten können Zwinkerndes Smiley

Das läßt sich der Powershell durchaus mitteilen:

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

Führen Sie dieses Skript einfach in der Sharepoint Verwaltungshell aus und anschliessend können sie wieder normal Shell arbeiten. Die $Host sollte nun Version 2 anzeigen.

Erfolg sieht dann so aus:

SNAGHTML13537c8

 

Viel Spaß damit..

Kommentare sind geschlossen