Profils itinérants et lecteurs réseau
Deux GPO du domaine FormuleSAE.local font qu'un membre retrouve son bureau et ses fichiers sur n'importe quel poste du club, avec les partages du club déjà montés.
| GPO | Liée à | Ce qu'elle fait |
|---|---|---|
FSAE - Profils itinérants | OU Postes-Club (les ordinateurs) | Le profil Windows de l'utilisateur est copié sur le serveur fsae-profils à la déconnexion et récupéré à la connexion |
FSAE - Lecteurs réseau | OU FormuleSAE → Utilisateurs (les comptes) | Monte les partages Shared et cad du serveur de fichiers |
Les profils itinérants ne marchent qu'avec un compte du domaine (FORMULESAE\…). Avec un compte local du poste (comme fsae-admin), il n'y a ni profil itinérant ni accès automatique aux partages.
Le serveur de profils fsae-profils
| Élément | Valeur |
|---|---|
| Machine | VM 130 sur formule-pve-02, Debian 13, 10.194.24.58 |
| Nom | fsae-profils.formulesae.local |
| Partage | \\fsae-profils.formulesae.local\Profils$ (caché), dossier /srv/profils |
| Gestion | créée par OpenTofu (tofu/envs/prod/main.tf), configurée par Ansible (rôle samba_profils) |
C'est un serveur Samba membre du domaine. Chaque utilisateur y a un dossier <compte>.V6 auquel lui seul (avec les administrateurs) a accès.
Le reconfigurer avec Ansible
Le playbook playbooks/profils.yml du dépôt infra/infra installe Samba, règle l'heure et le DNS sur l'AD, joint le serveur au domaine et crée le dossier des profils. Le mot de passe du compte svc-join est dans un coffre Ansible chiffré, jamais dans le dépôt.
- Crée le coffre (une seule fois) :
cd ansibleansible-vault create inventories/prod/group_vars/profils/vault.yml# contenu : vault_samba_join_password: "…"
- Lance le playbook :
ansible-playbook playbooks/profils.yml --ask-vault-pass
- Le récapitulatif doit afficher
failed=0.
L'emplacement du mot de passe de svc-join et de celui du coffre Ansible dans Vaultwarden.
Ajouter un poste aux profils itinérants
- Dans Utilisateurs et ordinateurs Active Directory, clic droit sur le poste → Déplacer… →
Postes-Club. - Sur le poste, dans un terminal administrateur :
gpupdate /force, puis redémarre.
Le profil d'un utilisateur est copié sur le serveur à sa déconnexion : il faut se déconnecter (pas seulement verrouiller) pour le retrouver sur un autre poste.
Les lecteurs réseau
| Lecteur | Partage |
|---|---|
S: | \\fsae-fs.formulesae.local\Shared |
P: | \\fsae-fs.formulesae.local\cad |
Ils sont définis dans la GPO FSAE - Lecteurs réseau, User Configuration → Preferences → Windows Settings → Drive Maps, avec l'action Update. On utilise le nom du serveur et pas son IP (10.194.24.12) : avec le nom, Windows s'authentifie en Kerberos.
Laisse toujours vide la partie Connect as d'un lecteur : un mot de passe enregistré dans une GPO est lisible par tous les comptes du domaine.
Vérifier depuis un poste
Avec un compte du domaine, dans PowerShell :
| Commande | Résultat attendu |
|---|---|
whoami | formulesae\<compte>, pas <poste>\… |
gpresult /r /scope computer | FSAE - Profils itinérants dans les objets appliqués |
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v MachineProfilePath | \\fsae-profils.formulesae.local\Profils$\%USERNAME% |
Test-NetConnection fsae-profils.formulesae.local -Port 445 | TcpTestSucceeded : True |
klist get cifs/fsae-profils.formulesae.local | Un ticket est récupéré |
Problèmes connus
| Symptôme | Cause | Solution |
|---|---|---|
| Événement 1521 « Windows ne peut pas trouver de copie serveur de votre profil itinérant » | Le réseau n'était pas prêt à l'ouverture de session, ou le compte est local | Active Always wait for the network at computer startup and logon (Computer Configuration → Administrative Templates → System → Logon) et connecte-toi avec un compte du domaine |
net use demande un nom d'utilisateur | Session ouverte avec un compte local | Déconnecte-toi et reconnecte-toi avec FORMULESAE\<compte> |
Permission denied dans les journaux Samba pour un compte de groupe 10515 | C'est le compte de l'ordinateur qui sonde le partage | Normal, sans effet sur les profils |
La jonction de fsae-profils au domaine échoue | Debian n'envoie pas les noms en .local au DNS de l'AD | Le rôle Ansible déclare le domaine à systemd-resolved avant la jonction |