Powershell: O farm local não está acessível. Os cmdlets com FeatureDependencyId não estão registrados

0

Estou tentando executar um script do PowerShell em um arquivo em lotes do Windows. Este é um script relacionado ao SharePoint que usa Import-SPData .

Isso funciona sem problemas ao usar o login de USERA . No entanto, se eu tentar executar o mesmo arquivo de lote do login de USERB , recebo o erro abaixo:

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\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

...

Assegurei-me de que USERB tenha permissões para os arquivos bat e ps1 .

Estou usando PowerShell versão 2 e SharePoint Server 2010

    
por thilina R 19.03.2014 / 21:39

2 respostas

0

Ok, consegui fazer isso funcionar.

De acordo com a Microsoft:

In order to use Windows PowerShell for SharePoint 2010 Products, a user must be a member of the SharePoint_Shell_Access role on the configuration database and a member of the WSS_ADMIN_WPG local group on the computer where SharePoint 2010 Products is installed.

link

Para fazer isso:

  • Abra o shell de gerenciamento do SharePoint (execute como administrador se você tiver o Controle de Conta de Usuário ativado)
  • Adicione SharePoint_Shell_Access role a USERB para o banco de dados de configuração do SharePoint.

Pode usar o seguinte código do PowerShell para fazer isso:

$dbs = Get-SPDatabase; foreach($d in $dbs) {If($d.name.contains("SharePoint_Config")){Add-SPShellAdmin "domain\USERB" -database $d}}
  • Verifique se o conjunto de sites do SharePoint e a biblioteca / lista de documentos (se houver) também têm as permissões adequadas para USERB
por 19.03.2014 / 22:37
1

O Sharepoint é uma fera para se lidar. Eu suponho que o UserB não possui as permissões adequadas do sharepoint e / ou acesso ao banco de dados de conteúdo

Eu compararia a permissão para UserA e UserB no nível do Windows, do SharePoint e do DB para procurar diferenças.

    
por 19.03.2014 / 21:42