Tâche #23522
Scénario #24251: Développement de script de migration de profil W7 et W10
Script migration profil Windows
Description
Décrire ce qui manque pour le changement de domaine
History
#1 Updated by Emmanuel IHRY over 5 years ago
- Parent task changed from #23460 to #23689
#2 Updated by Emmanuel IHRY over 5 years ago
- Status changed from Nouveau to En cours
#3 Updated by Emmanuel IHRY over 5 years ago
- Parent task changed from #23689 to #23498
#4 Updated by Alain Guichard over 5 years ago
Principe
Le script de migration doit permettre de migrer un poste client d'un domaine A vers un domaine B en conservant son profil initial (profil utilisateur du domaine A), ceci de façon automatique (pas d'intervention manuelle) et sans copie de profil.
Les postes clients sont des postes Seven ou Windows 10.Remarque importante
Dans le cas éventuel où une(des) étape(s) ci-dessous ne fonctionne(nt) pas avec Windows 10 (les étapes fonctionnent avec les postes Seven), celle(s)-ci devra(ont) être adaptée(s) pour les postes Windows 10.Préalable
Les comptes, dont les profils sur les postes clients doivent être récupérés lors de la migration, doivent exister dans le nouveau domaine.
Un fichier contenant tous les comptes et leur SID dans le nouveau domaine devra être établi.
Les différentes étapes du script
Étape 1
Récupérer le SID du compte prenom.nom dans le nouveau domaine : Nouveau_SID
Étape 2
Sortir la machine du domaine A et mettre le poste dans un workgroup (pas besoin de rebooter le poste).
Étape 3
Mettre le poste dans le nouveau domaine Active Directoy B (script initial migration ldap vers AD)
Étape 4
Rebooter le poste et se loguer avec le compte "Administrateur local" (compte -smb du fichier de conf de migration actuel)
Étape 5
Modifier les droits du profil utilisateur prenom.nom (de l'ancien domaine)
Sur le répertoire c:\Users\prenom.nom, qui est le répertoire où se trouve le profil du compte prenom.nom de l'ancien domaine :
- ajouter l'autorisation "Contrôle total" pour le compte prenom.nom du nouveau domaine
- en "remplaçant toutes les autorisations des objets enfants par des autorisation pouvant être héritées de cet objet" (cad de "façon récursive")
=> voir pièce jointe Migration-droits-prenom.nom.jpg
PS: peut se faire avec l'utilitaire Windows SetACL (commande ci-dessous à vérifier/adapter)
voir aide https://helgeklein.com/setacl/examples/managing-file-system-permissions-with-setacl-exe/
SETACL -on "c:\Users\prenom.nom" -ot file -actn ace -ace "n:Nouveau_SID;p:full"
Étape 6
Modifier les droits du contenu du fichier " c:\Users\prenom.nom\NTUSER.DAT "
Dans la base de registre :
- charger dans une ruche le fichier
- donner les autorisations "Contrôle total" et "Lecture" au compte prenom.nom du nouveau domaine
- décharger la ruche
=> voir pièce jointe Migration-droits-NTUSER.DAT.jpg
PS: peut se faire avec l'utilitaire Windows SetACL (commande ci-dessous à vérifier/adapter)
voir aide https://helgeklein.com/setacl/examples/managing-file-system-permissions-with-setacl-exe/
REG LOAD HKEY_USERS\NtuserDat_compte "c:\Users\prenom.nom\\NTUSER.DAT" SETACL -on "HKEY_USERS\NtuserDat_compte" -ot reg -actn ace -ace "n:Nouveau_SID;p:full" REG UNLOAD HKEY_USERS\NtuserDat_compte
Étape 7
Nettoyage du profil (obligatoire)
Supprimer les fichiers :
- "c:\Users\prenom.nom\NTUSER.DAT.L*"
- "c:\Users\prenom.nom\NTUSER.DAT{*"
- "C:\Users\prenom.nom\AppData\Local\Microsoft\Windows\usrclass*"
Étape 8
Création de la nouvelle clé du profil dans la base de registre
copier la clé
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ Ancien_SID "
dans la clé
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ Nouveau_SID "
Étape 9
Sauvegarde de l'ancienne clé du profil dans la base de registre
renommer la clé
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ Ancien_SID "
en
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ Ancien_SID.old "
Étape 10
Modifier le SID de la clé " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileGuid "
La clé ProfilGuid existe quand on est ou a été dans un domaine Active Directory.
Il faut modifier la donnée SidString avec le nouveau SID :
- dans la nouvelle clé du profil utilisateur, s’il existe une clé GUID, relever la valeur de cette clé soit "Valeur_Guid_relevée"
- dans la clé
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfilGuid\Valeur_Guid_relevée"
modifier la donnée SidString avec Nouveau_SID .
=> voir pièce jointe Migration-Profile.jpg
Étape 11
Ajouter l’utilisateur prenom.nom dans le groupe local " Utilisateurs "
net localgroup /add Utilisateurs domaineB\prenom.nom
Étape 12
Connexion dans le nouveau domaine avec le compte prenom.nom après redémarrage du poste
#5 Updated by Alain Guichard over 5 years ago
- % Done changed from 0 to 90
#6 Updated by Alain Guichard over 5 years ago
- File Migration-droits-NTUSER.DAT.jpg View added
- File Migration-droits-prenom.nom.jpg View added
- File Migration-Profile.jpg View added
#7 Updated by Alain Guichard over 5 years ago
- Status changed from En cours to Fermé
- % Done changed from 90 to 100
- Remaining (hours) set to 0.0
#8 Updated by Emmanuel IHRY over 5 years ago
- Subject changed from Spécifier les évolutions du script intégration PC to Script intégration PC
- Status changed from Fermé to Nouveau
- Estimated time set to 0.00 h
- Parent task changed from #23498 to #24251
#9 Updated by Emmanuel IHRY over 5 years ago
A mon sens il faut deux scripts :
- script intégration au domaine--> déjà existant
- script de migration de profil W7 et W10
Donc dans la description faite par Alain, on ne devrait pas avoir besoin des étapes 2 et 3 dans le script de migration de profil W7 et W10
#10 Updated by Emmanuel IHRY over 5 years ago
- Project changed from PNE-SR to Distribution EOLE
- Description updated (diff)
- Assigned To changed from Alain Guichard to force bleue
#11 Updated by Emmanuel IHRY over 5 years ago
- Subject changed from Script intégration PC to Script migration profil Windows
#12 Updated by Emmanuel IHRY about 5 years ago
Suite aux échanges avec cadoles
- le script https://helgeklein.com/setacl/examples/managing-file-system-permissions-with-setacl-exe/ est juste une piste non testée. Il y a peut être une meilleure solution. d'autre part il nécessite une licence --> ce n'est donc pas la bonne piste
- Ok sur le principe de définir comme pré-requis une version powershell, le mieux serait la dernière, la version 6
#13 Updated by Emmanuel IHRY about 5 years ago
- Assigned To changed from force bleue to Emmanuel GARETTE
#14 Updated by Emmanuel GARETTE about 5 years ago
Voir ce qu'on peut faire avec powershell : https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-acl?view=powershell-6
#15 Updated by Emmanuel IHRY about 5 years ago
- Status changed from Nouveau to En cours
#16 Updated by Michel BALLY about 5 years ago
Précisions
Pour l'étape 1, un fichier sera fourni contenant le nom des comptes ainsi que le SID du nouveau domaine sous la forme prenom.nom;Nouveau_SID
- si le compte correspondant au profil est dans le fichier ci-dessus, on exécute les étapes 5 à 11
- sinon le profil est non traité
Les étapes de modification de profil doivent être loguées dans un journal.
#17 Updated by Emmanuel GARETTE about 5 years ago
Le script reprend les différentes étapes décrites.
Les étapes 5 et 6 ont été inversé, sinon je n'arrivais pas à me logger sur 7.
Par contre, la session ne s'ouvre pas sur 10. A priori la méthode n'a pas été complètement valider sur cette version.
Pour tester, faire un fichier CSV dans le même répertoire que le script, ayant le nom "changeright.csv" et le contenu ressemblant à :
username,domain,oldsid test30,CADOLES,S-1-5-21-3651895017-3268876750-1920785127-1140
Un fichier changeright.txt sera créé avec le rapport.
#18 Updated by Michel BALLY about 5 years ago
Le PC est considéré migré dans le nouveau domaine (avec le script de migration existant)
- on liste les répertoires dans c:\users
- on récupère le nouveau SID via l'API windows
- si le compte existe dans le domaine "d'arrivée", on migre le profil et on récupère les anciens SID dans la base de registre pour ces répertoires pour faire les étapes décrites ci-dessus
- si le compte n'existe pas dans le domaine "d'arrivée", on ne migre pas le profil
- on dispose donc : répertoire utilisateur + nom utilisateur + old_sid + new_sid, le nom du domaine dans lequel le PC est intégré est connu également
#19 Updated by Emmanuel IHRY about 5 years ago
- Status changed from En cours to Fermé
A qualifier par le MTES dans le cadre de ce scénario #24679
Identification des étapes manquantes pour W10 à faire par le MTES