web-dev-qa-db-ja.com

エラーローカルファームにアクセスできません。 FeatureDependencyIdを持つコマンドレットは登録されていません

WindowsバッチファイルからPowerShellスクリプトを実行しようとしています。これは、Import-SPDataを使用するSharePoint関連のスクリプトです。

USERAのログインを使用する場合、これは問題なく機能します。ただし、USERBのログインから同じバッチファイルを実行しようとすると、次のエラーが発生します。

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"

地元の農場にはアクセスできません。 FeatureDependencyIdを持つコマンドレットは登録されません。

Import-SPData:ローカルファームにアクセスできません。再試行する前に、ローカルファームが適切に構成され、現在使用可能であり、データベースにアクセスするための適切な権限があることを確認してください。

At C:\ps\Run_MyPSScript.ps1:5 char:18

USERBには、batファイルとps1ファイルを実行する権限があります。

8
slayernoah

エラーは、batまたはPowerShellファイルのいずれかへのアクセス許可に関連していると想定しています。

発生するエラーはSPコマンドレットから発生するため、batファイルを正常に開き、PowerShellスクリプトを正常に実行しました。その後、エラーがスローされます。UserBにはファームに対する適切な権限がありません。したがって、エラー:

...そして、再試行する前にデータベースにアクセスするための適切な権限があること。

ファームとデータベースのUserAとUserBからのアクセス許可を比較します。

または、スレッジハンマーを使用してUserAにログインし、次のPowerShellスクリプトを実行することもできます。

$db = Get-SPDatabase | Where {$_.Name -eq "SharePoint_ConfigDB"}
Add-SPShellAdmin "domain\UserB" -database $db
8
Marco