SharePoint 2013 : Configurer la synchronisation des profils utilisateur (UPS)
Nous allons voir dans ce post comment configurer la synchronisation des profils utilisateur (UPS) via l’administration centrale puis via PowerShell.
Vous avez déjà configuré UPS avec SharePoint 2010 ? Sachez que la procédure (et les problèmes qui vont avec) sont identiques pour SharePoint 2013. L’import a par contre à priori été optimisé pour être plus rapide.
Si vous rencontrez un problème, direction : le post de Spence Harbar.
Vous pouvez également jeter un oeil à ce post pour découvrir une nouveauté des User Profiles, à savoir un import des profils plus simple (l’Active Directory Import – semblable à l’import des profils dans SharePoint 2007).
Prérequis
L’utilisateur exécutant cette procédure doit être membre du groupe administrateurs de la ferme.
1. Les comptes suivants doivent avoir été créés :
- SPAsipe\SP_UPS – Compte utilisé pour importer les profils,
- SPAsipe\SP_UPA_Pool – Compte de pool utilisé par l’application de service « User Profile »,
- SPAsipe\SP_UProfiles_Pool – Compte de pool utilisé par l’application web « My Sites ».
2. Les actions suivantes doivent avoir été effectuées :
- Avoir créé une application web pour les « My Sites » (ici « mysites.spasipe.local »), associée à un pool utilisant le compte « SPAsipe\SP_UProfiles_Pool »,
- Avoir créé dans cette application web une collection de site utilisant le template « My Site Host »,
- Avoir créé dans cette application web un managed path nommé ici « personal ».
3. Attribuer au compte de la ferme (ici SPAsipe\SP_Farm) les droits :
- « Log on locally » sur le serveur exécutant le service « User Profile Synchronization »
Cliquez sur « Administrative Tools » puis sur « Local Security Policy »
Cliquez sur « Local Policies » puis sur « User Rights Assignment » puis double-cliquez sur « Allow Logon Locally »
Cliquez sur « Add User or Group », sasissez le compte de la ferme et validez les 2 fenêtres.
Executez « gpupdate » pour appliquer la policy
- Administrateur local sur le serveur hébergeant le service UPS. Ce droit peut (et doit !) être retiré dès que la configuration sera terminée. En cas de passage de service pack ou autre restauration, il faudra remettre ce droit au compte, sinon le service UPS ne (re)démarrera pas.
4. Il ne reste plus qu’à donner les droits de « Replicating Directory Changes » au compte que vous allez utiliser pour l’import (ici « SPAsipe\SP_UPS ») en suivant cet autre post.
5. Rebootez le serveur !
Création de l’application de service « User Profile » via l’administration centrale
1. Dans l’administration centrale, cliquez sur « Manage service applications ».
2. Cliquez sur « New » puis sur « User Profile Service Application ».
3. Saisissez les informations requises :
- Nom de l’application de service,
- Le pool d’application à utiliser (ici j’en crée un nouveau avec un « Managed account » dédié); si vous le souhaitez vous pouvez utiliser un pool existant.
Pour enregistrer un nouveau « Managed account » vous trouverez la procédure dans ce post.
- Saisissez un serveur, un nom de base et un mode d’authentification pour la BDD des profils,
- Saisissez un serveur, un nom de base et un mode d’authentification pour la BDD de synchonisation,
- Saisissez un serveur, un nom de base et un mode d’authentification pour la BDD de tags/notes,
- Sélectionnez le serveur qui exécutera le process de synchronisation
- Saisissez l’URL de la collection de site qui hébergera les « My Sites »
- Saisissez le nom du chemin géré dans lequel les My Sites seront provisionnés
- Choisissez une convention de nommage pour les sites
Cliquez sur « Create » pour lancer la création.
6. « Please wait ». C’est écrit.
7. Cliquez sur « OK ».
8. l’application de service et son proxy sont bien présents.
9. Allez dans « System Settings », puis « Manage services on server »
Démarrez le « User Profile Service » en cliquant sur « Start ».
10. Démarrez le « User Profile Synchronization Service » en cliquant sur « Start ».
Saisissez le mot de passe du compte utilisé par le service :
11. Au bout de quelques minutes le service a démarré.
12. Effectuez un IISReset.
13. Vérifiez dans la liste des services que les 2 services liés à FIM sont bien démarrrés.
14. Retirez le compte de la ferme du groupe « Administrateurs » du serveur.
Création de l’application de service « User Profile » via powerShell
Cette création se fait (entre autre) par l’intermédiaire du cdmlet New-SPProfileServiceApplication.
Lancez le Management Shell de SharePoint 2013 et exécutez les commandes suivantes :
1. Créez un nouveau pool de service web (ou utiliser un pool existant)
- Création : $UPAPool = New-SPServiceApplicationPool -Name UPA_Pool -Account (Get-SPManagedAccount « SPAsipe\SP_UPA_Pool »)
- Réutilisation : $UPAPool = Get-SPServiceApplicationPool -Identity « UPA_Pool »
2. Créez l’application de service
$ups = New-SPProfileServiceApplication -Name « User Profile AppT » -ApplicationPool « UPA_Pool » -ProfileDBName « ProfileDBT » -SocialDBName « SocialDBT » -ProfileSyncDBName « SyncDBT » -MySiteHostLocation http://mysites.spasipe.local
3. Créez le proxy associé
New-SPProfileServiceApplicationProxy -Name « User Profile ProxyT » –DefaultProxyGroup -ServiceApplication $ups
3. Démarrez le service « User Profile Service »
$UserProfileService = $(Get-SPServiceInstance | where {$_.TypeName -match « User Profile Service » })
Start-SPServiceInstance -Identity $UserProfileService.ID
4. Vérifiez la création
Get-SPServiceApplication | ? {$_.TypeName -eq « User Profile Service Application »}
5. Démarrez le service « User Profile Synchronization Service »
$serviceUPS = $(Get-SPServiceInstance | where {$_.TypeName -match « User Profile Synchronization Service » })
$ups.SetSynchronizationMachine(« Votre Serveur », $serviceUPS.ID, « VotreDomaine\SP_Farm », « MotDepasseSP_Farm »)
Start-SPServiceInstance -Identity $serviceUPS.ID
Récapitulatif des commandes PowerShell utilisées
- New-SPServiceApplicationPool,
- Get-SPServiceApplicationPool,
- New-SPProfileServiceApplication,
- New-SPProfileServiceApplicationProxy,
- Start-SPServiceInstance,
- Get-SPServiceApplication
Test
Cliquez sur le nom de l’application de service pour accéder à la page d’administration des User profiles.
La configuration d’un import ayant déjà été décrite dans ce post, je vais juste détailler ici les différences comparé à un « Active Directory import ».
1. 2 profils sont présents par défaut.
2.Dans le formulaire de création d’une connexion :
- Le type de connexion comporte plusieurs choix
- Vous devez saisir le nom de la forêt et éventuellement spécifier un contrôleur de domaine.
- Pas de champ pour saisir un filtre 😦
3. Sur le lien « Configure Synchronization Settings », section « Synchronization Options », conservez le paramètre pardéfaut.
Lancez une synchronisation « full », je récupère bien ici tous mes profils (les 8 de mon OU + les 2 par défaut).
Etapes supplémentaires pour écrire dans l’AD
Pour pouvoir faire le chemin inverse, à savoir écrire de SharePoint vers l’AD, il va falloir octroyer des droits supplémentaires au compte utilisé pour la synchronisation, ici SPAsipe\SP_UPS.
1. Rendez-vous sur votre DC, ouvrez la console « Active Directory Users and Computers ».
2. Cliquez-droit sur l’OU que vous souhaitez synchroniser, puis sélectionnez « Properties ».
3. Cliquez sur l’onglet « Security », sélectionnez le compte SPAsipe\SP_UPS et donnez lui les droits de « Write » et de « Create all child objects ».
Cliquez sur « Advanced ».
4. Sélectionnez la ligne du compte SPAsipe\SP_UPS qui a « None » dans la colonne « Inherited from ».
Cliquez sur « Edit ».
5. Sélectionnez la valeur suivante pour « Applies to ».
6. Sélectionnez les attributs « Write all Properties » and « Create all Child Objects » permissions et validez toutes les fenêtres.
7. Vous pouvez vérifier en regardant les propriétés d’un compte de l’OU que le compte SPAsipe\SP_UPS a bien les droits que vous avez positionnés.
8. Maintenant il vous faut paramétrer quel attribut vous souhaitez aller mettre à jour dans l’AD.
Pour cela il va falloir éditer une propriété, et changer son mapping.
Cliquez sur « Manage User Properties ».
9. Cliquez sur une propriété (ici « Work phone ») et sélectionnez « Edit ».
10. En bas de la fenêtre cliquez sur « Remove » pour supprimer le mapping existant.
La direction est de type « Import », c’est précisément l’inverse que nous souhaitons faire, à savoir exporter la valeur de cette propriété dans l’AD.
10. Sélectionnez l’attribut de l’AD à mettre à jour (ici « telephoneNumber ») , modifiez la direction (Export) et cliquez sur « Add ».
On vient donc de paramétrer ce nouveau mapping pour qu’à la prochaine synchronisation la valeur de la propriété « Work phone » soit exportée afin de mettre à jour l’attribut « telephoneNumber » dans l’AD.
11. Le mapping a bien été créé; cliquez sur « OK ».
Test de synchronisation
1. Depuis le lien « Manage User Profiles » , je modifie le profil de Martine B, en lui attribuant le n° de téléphone « 0102030405 ».
2. Je lance une synchronisation et de retour sur le DC je constate que le n° de téléphone de Martine B a bien été mis à jour dans l’AD !
Articles récents
Catégories
- Certifications (4)
- Conférences (1)
- Développement (3)
- Exchange 2013 (2)
- Issues (25)
- Livres (5)
- News (8)
- Office 365 (16)
- Office Online Server (1)
- Outils (3)
- PowerShell (1)
- SharePoint 2007 (8)
- SharePoint 2010 (14)
- SharePoint 2013 (158)
- SharePoint 2016 (3)
- SharePoint 2019 (5)
- SharePoint Designer (2)
- SharePoint Online (5)
- SharePoint Saturday (1)
- SQL Server (6)
- TechDays (2)
- Virtualisation (6)
- Visual Studio (6)
- Windows (7)
- Yammer (8)