Un profil itinérant peut être un élément utile dans une infrastructure, particulièrement dans un environnement Active Directory. Ils vont permettent aux utilisateurs de switcher de PC sans perdre leurs données qui seront bien gentiment stockées au chaud sur un serveur de l’entreprise. On s’y jette ?
Utiliser des profils itinérants dans une infrastructure AD
Nous allons voir dans cet article comment mettre un place les profils itinérants dans une infra avec AD. Pour ce tuto, voici une vue globale de mon labo (les adresses IP ne sont pas importantes, nous ne les utiliserons pas dans le tuto, assurez vous juste que tout le monde communique ensemble) :
Si vous n’êtes pas familier avec le terme de « profil », je vous recommande de lire l’introduction pour bien comprendre de quoi on parle. Dans le cas contraire, rendez-vous directement au chapitre 1.
⇒ Accès rapide aux différentes parties de cet article :
1. Introduction
La première chose à expliquer avant de débuter est ce qu’est un « profil » pour un utilisateur dans un ordinateur.
Et bien c’est tout bête, c’est ce qui regroupe son environnement de travail et surtout ses dossiers tels que nous les connaissons tous : Images, Documents, Bureau, etc…
Dans un environnement Active Directory, les utilisateurs de l’entreprise s’authentifient via un serveur, un contrôleur de domaine, pour ouvrir leur session et non pas directement dans la base de données locale (la SAM) d’un poste client. On dit qu’ils utilisent un compte de « domaine » au lieu d’un compte « local ».
Un compte de domaine peut être utilisé pour se connecter sur n’importe quel poste client qui est membre du même domaine, ce qui est plutôt pratique !
Par contre, le profil de l’utilisateur restera lui stocké dans son PC en « local ». Ce qui veut dire que s’il prend le PC d’un collègue, ou que si son PC tombe en panne, il ne retrouvera pas ses données, voire même pire si le disque dur grille et qu’il n’y a pas de sauvegarde, elles sont perdues.
C’est là que les profils itinérants vont être intéressants !
Un profil dit « itinérant » est un profil qui est stocké sur un serveur de l’entreprise, à l’inverse d’un profil dit « local » qui lui est stocké sur le poste client directement.
L’un des avantages est justement de pallier le risque de perte de données en cas de défaillance du poste client car les données seront stockés sur un serveur qui est censé être régulièrement sauvegardé. Cela évite aussi une saturation potentielle du disque de stockage du PC mais surtout, ce profil sera accessible de n’importe quel poste dans le domaine donc l’utilisateur retrouvera toujours son environnement (presque) comme il l’a laissé.
La matérialisation d’un profil itinérant est assez simple. Nous aurons sur un serveur un dossier général qui contiendra tous les profils. Dans ce dossier, nous aurons le dossier profil de l’utilisateur Pierre, puis un autre dossier de l’utilisateur Paul, etc, etc, etc… Dans le dossier de l’utilisateur Paul, nous aurons ses dossiers Documents, Bureau, Images, Téléchargements…
Lorsque Paul se connectera à son PC, son profil sera chargé depuis le serveur où il est stocké et non plus directement dans le disque dur de son PC à lui.
Si Paul change de PC demain pour une raison x ou y, il va se connecter et retrouvera son profil comme il l’a laissé sur son autre PC.
Voyons maintenant comment mettre cela en place dans notre infra.
2. Préparer le contrôleur de domaine (AD et GPO)
La première chose à faire est de préparer son AD correctement.
Voici ci-dessous un aperçu de mon AD actuel. Comme vous pouvez le voir, j’ai une unité d’organisation (OU) dédiée aux différents services de l’entreprise tels que Direction, Compta, Pub, Secrétariat, DSI…
Les utilisateurs et leurs PC sont dans leur OU respective selon leur service, bref tout le monde est bien rangé histoire d’y voir plus clair et de faciliter l’administration de l’AD.
J’ai également une autre OU dans laquelle je peux mettre mes groupes destinés à des gestions spécifiques (accès à un VPN, groupe de distribution pour la messagerie électronique, VIP…).
Dans cette OU justement je vais créer un groupe global « Profils-itinerants » (vous pouvez créer ce groupe où vous voulez moi j’aime juste quand c’est rangé )
Dans ce groupe, nous ajouterons par la suite dans ses membres les utilisateurs AD pour lesquels on veut mettre en place un profil itinérant.
Ensuite afin d’éviter des possibles problèmes « un jour », nous allons mettre en place une GPO.
Petite explication tout de même car cette GPO n’est pas obligatoire :
Par défaut, lorsque le dossier de profil d’un utilisateur sera créé sur le serveur de fichiers, seul l’utilisateur lui-même sera habilité à y accéder. Ce n’est pas bien grave mais si nous avons besoin d’y accéder en tant qu’administrateur, ne serait-ce que pour dépanner ou restaurer quelque chose, on va se retrouver bloquer et il n’est pas du tout recommandé de changer les autorisations sur un dossier de profil existant au risque de tout faire péter et que l’utilisateur se retrouve sur son PC avec un profil « temporaire ».
Le but de la GPO que nous allons créer maintenant est justement d’ajouter automatiquement des droits sur les dossiers des profils aux admins.
Pour cela, ouvrez votre console de gestion des stratégies de groupe.
Dans la partie « Objets de stratégie de groupe », faites un clic droit puis « Nouveau ».
Nommez la GPO (au choix).
Ensuite faites un clic droit sur son nom puis « Modifier ».
Dans l’éditeur de GPO, allez dans Configuration ordinateur > Stratégies > Modèles d’administration > Système > Profils utilisateur.
Recherchez sur la droite le paramètre nommé « Ajouter le groupe de sécurité Administrateurs aux profils utilisateur itinérants » et double-cliquez dessus.
Si on regarde un peu dans la partie « Aide », il y a des infos intéressantes nous précisant ce qu’il se passe si on active ce paramètre, si au contraire on le désactive ou ne le configure pas. Nous voulons que les admins puissent accéder aux profils dont nous allons l’activer. Cochez la case « Activé » et cliquez sur OK.
Vous pouvez fermer l’éditeur de stratégies et revenir sur la console de gestion des GPO.
Si on jette un coup d’œil dans les paramètres de la GPO que l’on vient de créer, on voit bien ce qu’on a mis en place.
Il faut maintenant placer la GPO au bon endroit pour qu’elle fonctionne. Il faut que cette GPO s’applique sur tous les postes sur lesquels mes utilisateurs auront besoin de leur profil itinérant. Pour moi c’est simple, j’ai une OU qui regroupe mes utilisateurs et mes ordinateurs des différents services et qui s’appelle « Services-Entreprise ».
C’est donc précisément ici que je vais la placer. Faites un clic droit sur votre OU puis « Lier un objet de stratégie de groupe existant ».
Choisissez dans la liste la GPO que vous venez de créer et cliquez sur OK.
La GPO est désormais bien liée et s’appliquera sur les postes clients de mes utilisateurs qui sont eux aussi dans cette unité d’organisation (bah oui sinon ça sert à rien…).
C’est tout ce qu’il y a à faire côté serveur AD pour le moment, passons à l’étape suivante.
3. Préparer le serveur de fichiers
Dans votre serveur de fichiers, créez un dossier qui sera destiné à contenir les profils de chaque utilisateur. Je vais le nommer ici « Profils$ ».
Nous allons maintenant nous attaquer aux droits d’accès à ce dossier et à son contenu. Les permissions qui seront appliquées dans la suite de ce tuto sont basées sur les recommandations de Microsoft que vous trouverez au lien suivant : Autorisations nécessaires pour les profils utilisateur itinérants
Faites un clic droit sur son nom et allez dans ses propriétés. Allez dans l’onglet « Partage » et cliquez sur « Partage avancé ».
Cochez la case « Partager ce dossier », le nom du partage sera automatiquement celui du dossier. Si dans le nom du dossier nous n’avez pas mis de symbole « $ », je vous conseille de l’ajouter dans le nom du partage afin de masquer sa présence sur le réseau. Cliquez ensuite sur « Autorisations ».
Supprimez le groupe « Tout le monde » en cliquant une fois dessus puis sur le bouton « Supprimer ».
Cliquez sur « Ajouter » et recherchez le groupe « Utilisateurs authentifiés ».
Donnez à ce groupe les droits « Lecture » et « Modifier » sur ce partage.
Une fois terminé, cliquez sur OK deux fois pour valider le partage du dossier Profils$. Vous verrez alors le chemin réseau permettant d’accéder au contenu de ce dossier à distance.
Allez maintenant dans l’onglet « Sécurité ». C’est ici que nous allons affiner les droits d’accès. Cliquez sur « Avancé ».
Cliquez sur « Désactiver l’héritage » puis ensuite sur « Convertir les autorisations héritées en autorisations explicites sur cet objet ».
Cliquez sur les deux lignes qui attribuent des droits aux groupes « Utilisateurs » et supprimer les.
Cliquez ensuite sur « Ajouter ».
Cliquez sur « Sélectionnez un principal », situé en haut de la nouvelle fenêtre.
Ajouter le nom du groupe global pour les profils itinérants que nous avons créé précédemment dans l’AD et cliquez sur OK.
Dans la partie supérieure, vous verrez le nom du groupe. Juste en dessous dans le champ « S’applique à », sélectionnez « Ce dossier seulement ». Cliquez ensuite sur « Afficher les autorisations avancées ».
Cochez uniquement les cases suivantes :
- Liste du dossier/lecture de données
- Création de dossier/ajout de données
Quand vous avez terminé, cliquez sur OK. Vous devriez avoir la vue suivante :
Cliquez sur OK 2 fois pour terminer d’appliquer les autorisations à ce partage.
Le serveur de fichiers est prêt. Nous pouvons dès maintenant mettre en place un profil itinérant pour un utilisateur.
4. Définir un profil itinérant pour un utilisateur AD
Retournons dans notre AD, dans les propriétés d’un utilisateur de votre choix, onglet « Membre de ».
Cliquez sur « Ajouter » et recherchez le nom du groupe global créé pour les profils itinérants afin que votre utilisateur en soit membre.
Rendez-vous ensuite dans l’onglet « Profil ». La partie qui nous intéresse ici dans le champ « Chemin du profil ».
Il faut renseigner ici le chemin réseau du partage contenant les profils, suivi du nom du dossier de profil qui sera créé pour l’utilisateur lui-même et qui devra donc être unique.
Pour éviter les problèmes, je vous conseille de nommer le dossier de profil comme le login de l’utilisateur (un login dans un domaine étant unique, cela limite le champ des erreurs). Vous pouvez utiliser la variable « %USERNAME% » pour récupérer directement le login de l’utilisateur.
Dans mon cas, le chemin de profil que je vais saisir sera donc le suivant :
\\srv-fichiers\profils$\%username%
Cliquez sur Appliquer pour valider l’attribution d’un chemin de profil. La variable prendra automatiquement le login de l’utilisateur en cours de modification.
Cliquez sur OK quand vous avez terminé. Il ne nous reste plus qu’à connecter l’utilisateur sur son PC pour voir ce que ça donne.
5. Test du profil itinérant
Je viens de loguer mon utilisateur « Poséidon » sur son PC. Dès l’ouverture de sa session, si je vérifie le contenu de \\srv-fichiers\profils$, je vois un dossier qui porte le login de l’utilisateur (qui est pour le moment vide).
Info + : Le « v6 » ajouté automatiquement derrière le noms du dossier de profil correspond à la version du profil selon Microsoft et elle peut varier selon les OS et/ou leur version. |
Sur la session de l’utilisateur, nous allons mettre quelques fichiers sur le bureau et dans téléchargements et un magnifique chaton en fond d’écran pour voir ce que ça donne et ensuite déconnecter l’utilisateur de son PC.
Une fois l’utilisateur déconnecté, retournons voir le contenu de son profil dans \\srv-fichiers\profils$. Vous devez désormais voir les dossiers habituels Bureau, Images, Vidéos, etc, etc…
Si nous allons dans le dossier « Bureau », on retrouve bien ses 2 documents que j’ai ajouté, Idem pour le dossier « Téléchargements ».
Juste qu’ici tout va bien !
Maintenant on imagine que notre utilisateur doit changer de PC, par exemple il passe de son PC en Windows 10 à un PC en Windows 11.
Connectez votre utilisateur sur un autre PC que le premier. Vous devriez retrouver son environnement et ses fichiers.
Info + : Concernant les logiciels, il est bien sûr nécessaire qu’ils soient installés sur les 2 machines. |
La mise en place des profils itinérants a bien fonctionné.
Pour l’appliquer à un autre utilisateur de votre AD, il suffit de rendre cette utilisateur membre du groupe global créé pour les profils (sinon il n’aura pas de droit et vous aurez un profil temporaire à la connexion).
Info ++ : Attention à la taille des profils des utilisateurs qui peut parfois être assez élevée. Plus le profil est lourd, plus l’ouverture de session sera longue ce qui augmentera le trafic réseau. Il existe plusieurs solutions pour pallier à cela :
|
6. Bonus : Appliquer un profil itinérant en PowerShell
Si vous utilisez un script PowerShell pour la création/gestion de vos utilisateurs AD, il faudra ajouter ces 2 commandes pour utiliser un profil itinérant sur un compte de domaine :
Add-ADGroupMember -Identity "GG_Profils-itinerants" -Members "athena" Set-ADUser -Identity "athena" -ProfilePath "\\srv-fichiers\profils$\%username%" |
La première commande ajoute l’utilisateur (dont le login ici est « athena ») au groupe créé pour les profils itinérants (dont le nom est ici « GG_Profils-itinerants »).
La seconde commande va modifier le champ « Chemin du profil » directement dans les propriétés de l’user AD ciblé (ici le login est toujours « Athena ») en ajoutant le chemin réseau qui contient les profils utilisateurs sur mon serveur de fichiers suivi de la variable %username% qui sera automatiquement remplacé par son login.
Info + : La commande Set-ADUser modifie un utilisateur déjà existant dans l’AD. Vous pouvez ajouter le paramètre « -ProfilePath » directement dans la commande « New-ADUser » pour créer un nouvel utilisateur et en même temps lui assigner un profil itinérant. |
Voilà qui met fin à cet article sur les profils itinérants, pas si compliqué que ça non ?
Je vous invite à jeter un coup d’œil aux GPO concernant ces fameux profils car il existe quelques points intéressants notamment la partie synchronisation et exclusion (qu’est-ce qu’on synchronise du profil ou pas), la définition de quota ou encore la redirection de dossiers (très utile pour tout ce qui peut être volumineux et qu’on ne veut pas faire transiter par le réseau au chargement du profil). Soyez curieux !
See U