SharePoint 2010 – Access Denied ao Ativar uma Feature de Timer Job

 

Olá SharePointers,

Este post é para ajudar váaaaaarios SharePointers que tentaram fazer um Custom Timer Job, exatamente da mesma maneira que faziam no 2007 e, na hora de atualizar: ERRO!

“The SPPersistedObject, Microsoft.SharePoint.Administration.SPJobDefinition, could not be updated because the current user is not a Farm Administrator”.

A primeira reação seria: vamos rodar com privilégios elevados: SPSecurity.RunWithElevatedPrivileges() – mas, não funciona também.

Depois de estudar e procurar várias referências na internet, descobri a causa do problema:

Na dll Microsoft.SharePoint.dll foi introduzido um recurso de segurança a todos os objetos que herdam de SPPersistedObject no namespace Microsoft.SharePoint.Administration.

Basicamente, esse recurso BLOQUEIA qualquer alteração nesses objetos originados de uma Web Application.

Para tal finalidade, foi criada uma propriedade na API do SharePoint 2010 para controlar esses recursos de segurança:

Microsoft.SharePoint.Administration.SPWebService.ContentService.RemoteAdministratorAccessDenied

Conclusão, ao setarmos a propriedade acima com FALSE, o código funcionará perfeitamente.

Segue o link do PowerShell Scriptlet para realizar tal mudança: Download PowerShell Script

 

Abraços!!

2 ideias sobre “SharePoint 2010 – Access Denied ao Ativar uma Feature de Timer Job

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *