Nombre d’entre vous désirent avoir plusieurs administrateurs de ferme SharePoint 2010 mais se heurtent à des problèmes de permissions.

Par défaut lorsqu’un utilisateur standard du domaine, avec uniquement le droit de RDP sur la machine locale et aucun droit sur la ferme tente de lancer la console SharePoint il obtient cela :

 

Nous allons donc commencer par lui donner les droits sur la ferme SharePoint, pour cela ouvrez l’administration centrale de SharePoint (avec le compte admin de ferme hein ;-) ), cliquez sur la section sécurité et cliquez sur « Gérer les administrateurs de la ferme »

Cliquez sur « nouveau », « ajouter un utilisateur » et ajouter votre utilisateur via l’interface suivante.

De retour sur la session à laquelle vous voulez ajouter les droits vous obtenez toujours le même message d’erreur et c’est normal. Il faut maintenant ajouter les droits sur le serveur SQL, pour cela, toujours avec l’admin de ferme ouvrez le SQL Management Studio, Connectez-vous au serveur de base de données de SharePoint.

Une fois connecté sur la gauche dans Security puis login ajoutez un nouveau login (clic droit sur logins, new login)

Une nouvelle fenêtre apparait alors, dans la case « login name » entrez nomdedomaine\nomdelogin

Dans l’onglet « Server Roles » cochez le rôle sysadmin

Dans l’onglet « User Mapping » cochez les bases « SP_Config » & « SP_AdminContent », pour chacune d’entre elle spécifiez le schéma dbo et cochez le rôle « db_owner »

Validez.

Si vous revenez sur la session à laquelle nous essayons de donner les droits sur la ferme et que vous lancez la console, vous obtenez toujours le même message d’erreur, c’est normal.

Pour l’accès et le déploiement des binaires sur un serveur et/ou sur la ferme (notamment tout ce qui tourne autour du GAC) il faut être administrateur local de la machine.

Pour cela rendez-vous avec un admin local ou de domaine sur chaque serveur sharepoint de la ferme ouvrez le gestionnaire de serveur et dans configuration => Utilisateurs et groupes locaux => Groupes ajoutez l’utilisateur en question au groupe administrateurs

Note : vous pouvez donner les droits à plusieurs niveaux, ainsi, si votre domaine n’est pas trop complexe il vous suffira de rajouter l’utilisateur en tant qu’admin de domaine, sinon pour diminuer l’effort administratif vous pouvez créer un groupe de domaine « adminfermesp » dans lequel vous ajouterez notre utilisateur et qui sera lui-même ajouté en tant qu’admin local sur chaque machine…

Pensez à vous déconnecter et à vous reconnecter (session windows) pour appliquer les nouveaux droits avec le compte que nous sommes en train d’ajouter

Lancez maintenant la console en mode administratif et vous pourrez constater qu’elle fonctionne correctement pour toutes les commandes PowerShell.

 

Pour le pourquoi du comment en fait définir un admin de ferme dans l’administration centrale permet de donner à un utilisateur l’accès à cette même administration centrale, dont les ordres sont exécutés avec le compte de service de l’admin centrale.

Par contre lorsque l’utilisateur lance la console power Shell c’est son compte qui est utilisé pour toutes les instructions envoyées.

Cela fonctionne avec le compte qui a installé la ferme SharePoint car il a nativement les droits sur les bases de données, machines et autres du fait du procédé d’installation, mais les droits sont manquants pour les autres utilisateurs, même des administrateurs de domaine.