Powershell: Die örtliche Farm ist nicht zugänglich. Cmdlets mit FeatureDependencyId werden nicht registriert

4466
thilina R

Ich versuche, ein PowerShell-Skript aus einer Windows-Batchdatei auszuführen. Dies ist ein SharePoint-bezogenes Skript, das verwendet wird Import-SPData.

Dies funktioniert ohne Probleme beim USERALogin. Wenn ich jedoch versuche, die gleiche Batchdatei aus USERBdem Login auszuführen, erhalte ich den folgenden Fehler:

c:\PS>ExecMyPowershellScript.bat  c:\PS>C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -psconsolefile " C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\P OWERSHELL\Registration\psconsole.psc1" -command "c:\ps\MyPSScript.ps1"  The local farm is not accessible. Cmdlets with FeatureDependencyId are not regis tered. Import-SPData : Cannot access the local farm. Verify that the local farm is pro perly configured, currently available, and that you have the appropriate permis sions to access the database before trying again. At C:\ps\Run_MyPSScript.ps1:5 char:18  ... 

Ich habe sichergestellt, dass USERBBerechtigungen für die batund die ps1Dateien hat.

Ich verwende PowerShellVersion 2 undSharePoint Server 2010

0

2 Antworten auf die Frage

1
Keltari

Sharepoint ist ein Tier, mit dem man fertig werden muss. Ich würde sagen, dass UserB nicht die richtigen Sharepoint-Berechtigungen und / oder den Zugriff auf die Inhaltsdatenbank hat

Ich würde die Berechtigung für UserA und UserB auf Windows-, Sharepoint- und DB-Ebene vergleichen, um nach Unterschieden zu suchen.

0
thilina R

Ok, ich habe es geschafft, dass dies funktioniert.

Laut Microsoft:

Um Windows PowerShell für SharePoint 2010-Produkte verwenden zu können, muss ein Benutzer Mitglied der Rolle SharePoint_Shell_Access in der Konfigurationsdatenbank und Mitglied der lokalen Gruppe WSS_ADMIN_WPG auf dem Computer sein, auf dem SharePoint 2010-Produkte installiert sind.

http://technet.microsoft.com/de-de/library/ff607596%28v=office.14%29.aspx

Um dies zu tun:

  • Öffnen Sie die SharePoint-Verwaltungsshell (als Administrator ausführen, wenn die Benutzerkontensteuerung aktiviert ist).
  • Fügen Sie SharePoint_Shell_AccessUSERB eine Rolle für die SharePoint-Konfigurationsdatenbank hinzu.

Kann den folgenden PowerShell-Code dazu verwenden:

$dbs = Get-SPDatabase; foreach($d in $dbs) } 
  • Stellen Sie sicher, dass die SharePoint-Websitesammlung und die Dokumentbibliothek / Liste (sofern vorhanden) auch über die erforderlichen Berechtigungen verfügen USERB