Configuration du service profil utilisateur sous SharePoint 2010/2007

Aug 30, 2010

**image1.png

I)       Description du problème

II)     Résolution du problème sous SharePoint 2007

1)      Compte de service de l’OWSTIMER

2)      Shared Service Provider

3)      Paramétrage de la partie Service Profil Utilisateur du SSP

III)         Résolution du problème sous SharePoint 2010

1)      Compte de service de l’OWSTIMER

2)      Application de service

3)      Paramétrage de base du Service

•I)                    Description du problème

De nombreuses solutions et même les sites SharePoint utilisent régulièrement des attributs du profil utilisateur pour rendre l’expérience utilisateur la plus agréable possible. Or il se peut que la synchronisation de ces attributs avec SharePoint (depuis l’active directory ou depuis d’autres WebApp) ne se fasse pas correctement car le Service de Synchronisation de Profil Utilisateur n’est pas configuré sur la ferme SharePoint.

La solution consiste à configurer et mettre en service cette fonctionnalité de SharePoint afin de pouvoir l’utiliser.

Note : cet article résout les problèmes de domain\user affiché au lieu du nom d’affichage, de la photo et des différences de propriétés entre les diverses webapps.

•II)                  Résolution du problème sous SharePoint 2007

•1)      Compte de service de l’OWSTIMER

Sous SharePoint 2007 le service Profil Utilisateur est une fonctionnalité dépendant s’un Shared Service Provider (SSP) et utilisant des TimerJobs pour se synchroniser avec les sources de données de profils internes et externes.

Ces TimerJobs nécessitent l’utilisation du compte de service administratif de la ferme (et non un compte administrateur, c’est le compte qui vous sert de connexion à l’instance SQL), le service Windows SharePoint Services Timer doit donc être lancé avec ce compte.

Pour cela appuyez sur [WINDOWS] + R, entrez services.msc puis validez.

image2.png

Rendez-vous aux services SharePoint et vérifier que le service Windows SharePoint Services Timer est bien démarré en utilisant le compte de service qui sert de compte de service SharePoint de connexion à l’instance SQL configuré avec l’assistant de configuration des produits et technologies SharePoint.

Vérifiez ensuite que ce compte a bien les droits sur la machine, il doit être administrateur local. Pour cela cliquez sur le menu démarrer, clic droit sur My computer -> Manage puis dans l’arborescence de gauche System and tools -> Local Users And Groups -> Groups, puis dans le cadre central double cliquez sur « Administrators » et ajoutez le compte de Service de la ferme s’il n’est pas déjà présent.

Redémarrez le service Timer.

•2)      Shared Service Provider

Démarrez l’administration centrale de SharePoint rendez-vous à Application Management -> Manage this Farm’s Shared Services et vérifiez qu’un SSP est présent.

Si ce n’est pas le cas créez en un en cliquant sur « new SSP »

Les SSP servent à partager une multitude de données entre les webapplications aussi il est recommandé de prendre le temps de les configurer correctement, nous ne traiterons ici que des paramètres qui nous intéressent.

Le SSP a besoin de plusieurs collections de sites/applications pour fonctionner :

  • Les applications à qui il va servir des données, qui sont déjà créées ou seront créées par la suite.
  • La collection de sites contenant le site d’administration du SSP, pour plus de sécurité il est conseillé de le placer dans une webapp dédiée
  • La collection de sites my site, qui pour plus de flexibilité sera placée dans sa propre webapp

Nous avons donc besoin de 3 comptes de services :

  • Un pour l’application d’admin du SSP, ce compte ne doit pas être le compte administratif ni un administrateur de la ferme
  • Un compte pour l’application mysite, idem
  • Un compte de service du SSP pour les timerJobs, ce compte doit être le compte administratif de la ferme (celui indiqué lors de la création de la ferme)

Configurez donc le SSP avec le nom, la collection de sites/webapp d’admin, celle de mysite, le compte de service administratif de la ferme…

Vous devrez peut être effectuer un iisreset /noforce si vous avez créé des webapp.

•3)      Paramétrage de la partie Service Profil Utilisateur du SSP

Une fois le SSP créé rendez-vous sur la page d’admin du SSP, pour cela ouvrez l’admin centrale de SharePoint et cliquez sur le nom de votre SSP à gauche dans le menu quick launch sous la catégorie « Shared Services Providers ».

Cliquez sur User Profile and Properties -> Configure Profile Import et configurez la source de données : domaine courant, login par défaut sauf si vous avez une configuration vraiment particulière, pour rappel le compte de service administratif de SharePoint est sensé avoir un droit en lecture/écriture sur le domaine.

Configurez aussi les périodes d’import des données.

Revenez à la racine du site d’admin du SSP et cliquez sur « User Profile and Properties » -> « View Profile Properties » pour configurer les propriétés à configurer. Nous prendrons pour exemple la photo de l’utilisateur. Cliquez sur le champ dans la liste puis sur « Edit ».

image3.png

Hormis les propriétés basiques du champ configurez les propriétés de synchronisation de la manière suivante : source de données -> la source de données correspondant à votre active directory, champ -> thumbnailPhoto dans notre cas, cliquez sur OK.

La partie Profil Service Utilisateur est configurée sur le SSP, il ne reste plus qu’à effectuer une première synchronisation pour cela rendez-vous à la racine du site d’admin SSP et cliquez sur « User Profile and Properties » -> « Start Full Import »

•III)                Résolution du problème sous SharePoint 2010

•1)      Compte de service de l’OWSTIMER

Sous SharePoint 2010 le Service Profil Utilisateur est une application de Service utilisant des TimerJobs pour se synchroniser avec les sources de données de profils internes et externes.

Ces TimerJobs nécessitent l’utilisation du compte de service administratif de la ferme (et non un compte administrateur), le service SharePoint 2010 Timer doit donc être lancé avec ce compte.

Pour cela appuyez sur [WINDOWS] + R, entrez services.msc et validez.

image4.png

Rendez-vous aux services SharePoint et vérifier que le service SharePoint 2010 Timer est bien démarré en utilisant le compte de service qui sert de compte de service SharePoint de connexion à l’instance SQL configuré avec l’assistant de configuration des produits et technologies SharePoint.

Vérifiez ensuite que ce compte a bien les droits sur la machine, il doit être administrateur local. Pour cela démarrez le gestionnaire de serveur puis dans l’arborescence de gauche Configuration -> Local Users And Groups -> Groups, puis dans le cadre central double cliquez sur « Administrators » et ajoutez le compte de Service de la ferme s’il n’est pas déjà présent.

Redémarrez le service Timer.

•2)      Application de service

Démarrez l’administration centrale de SharePoint, cliquez sur « Manage Service Applications » et vérifier la présence d’une application de service profil utilisateur

image5.png

Si ce n’est pas le cas créez-en une.

image6.png

Note le compte de service de cette nouvelle Application ne doit en aucun cas être le compte de service administratif de la ferme (celui de l’OWSTIMER), c’est un trou de sécurité.

Retournez à la racine de l’administration centrale de SharePoint et cliquez sur « Manage Services en Server » vous pouvez constater que le service de synchronisation est en état arrêté.

image7.png

Note s’il est bloqué en état de démarrage en cours démarrez la console powershell de SharePoint tapez Get-spserviceinstance, repérez le guid du service en cours de démarrage puis tapez stop-spserviceinstance <guid>

Cliquez donc sur start, entrez deux fois le mot de passe du compte de service administratif de la ferme (celui de l’owstimer) puis validez.

Ouvrez une console en mode administratif et entrez iisreset /noforce, puis validez.

Note en vous connectant à l’administration centrale et en vous rendant aux timer jobs status vous pourrez voir le job ProfileServiceSynchronizationSetup en train de s’exécuter, cela dure de 5 à 30 minutes selon la taille de la ferme SharePoint.

Une fois le timerjob exécuté avec succès vous pouvez retourner à la page des services du serveur pour vérifier que le service en question est bien démarré

•3)      Paramétrage de base du Service.

Retournez à la racine de l’administration centrale puis sur « manage service applications », cliquez sur votre application de service profil utilisateur (pas sur le lien, juste sur la ligne) puis dans le ribbon sur « Permissions » vérifiez que tous les comptes de service des webapplications publiées sont autorisés à consommer le service

image8.png

Cliquez ensuite sur « Administrators » dans le ribbon et vérifier que ces mêmes comptes de service ont bien le droit « retrieve people data… »

image9.png

Cliquez enfin sur « Manage », puis sur « Configure Synchronization Connections » et enfin sur « Create Connection »

image10.png

Nous allons configurer une connexion à Active Directory, Renseignez un nom pour la connexion, sélectionnez le type Active Directory, authentification windows puis renseignez un compte et sélectionnez les OU à synchroniser

Note : Le compte doit avoir un accès en lecture/écriture dans l’active directory sur tous les objets à synchroniser.

Note : Lorsque que vous cliquez sur « Create New Connection » vous pouvez obtenir une alerte vous indiquant que le service profil utilisateur est en cours de synchronisation et qu’il faut attendre la fin, vous pouvez vous-même interrompre la synchronisation en cours en revenant sur la page précédente et en cliquant à droite sur stop

image11.png

Une fois cela effectué revenez à la page de gestion de l’application de service et cliquez sur « Manage User Properties », rendez-vous à la propriété que vous voulez synchroniser avec un élément externe, ici nous prendront pour exemple la photo de l’utilisateur.

image12.png

Cliquez dessus et cliquez sur Edit.

Hormis les propriétés basiques configurez les propriétés de synchronisation

image13.png

Sélectionnez la source (ici notre connexion vers Active directory), l’attribut lié (ici thumbnailPhoto pour la photo de l’utilisateur) et spécifiez la direction (import pour importer de la source export pour le contraire). Cliquez sur  « Add » la nouvelle propriété de synchronisation vient s’ajouter au-dessus.

Note : le choix de la direction dépend de votre infrastructure, on pourrait imaginer un AD où les photos seraient déjà pourvues par la DSI ou bien par un serveur Exchange dans ce cas SharePoint ne ferait qu’importer, ou bien au contraire où l’on demande à l’utilisateur d’ajouter sa photo via SharePoint dans ce cas c’est le contraire…

Retournez à la page de configuration de la service Application et cliquez sur « My Site Settings », spécifier un hôte de recherche par défaut et un hôte mysite par défaut existants (ceci permet d’intégrer correctement tous les liens de recherche et pointant vers mysite dans toutes les webApps de la ferme SharePoint)

La configuration complète est terminée.

Merci à Calinda SoftWare qui m’aura demandé de creuser le sujet pour eux lors de mon stage.


Edité la dernière fois le 6 Sep 2021 par Vincent


Tags: