Windows USMT

Avec Windows XP, est apparu un outil attendu depuis très longtemps USMT (User State Migration Tool).

Lors de l’installation de Windows XP, deux possibilités s’offraient à vous : soit vous faisiez une mise à jour de votre système d’exploitation (par exemple, Windows 98) et vous gardiez vos paramètres personnalisés (comme par exemple le dictionnaire Word) mais vous risquiez aussi de « traîner » des dysfonctionnements ; soit vous faisiez une nouvelle installation avec repartitionnement et formatage mais vous aviez perdu vos paramètres personnalisés.

Avec USMT vous combinez les avantages des deux méthodes. En effet, USMT aide à transférer les fichiers et les paramètres des utilisateurs (raccourcis, historique, mails, carnet d’adresses, Proxy, documents, lecteurs partagés, …) d’un ordinateur exécutant Windows 95 ou ultérieur, vers un ordinateur exécutant Windows XP.

Prenons l’exemple d’un ordinateur sur lequel Windows 98 s’exécute. Le point de départ est le cd-rom d’installation de Windows XP, car dans le dossier Valueadd msft usmt se trouve l’exécutable SCANSTATE.EXE.

Cette commande sauvegarde les paramètres systèmes et utilisateurs dans un fichier que vous gardez précieusement.

Une fois la nouvelle installation de Windows XP terminée, vous lancez l’Assistant Transfert de fichiers et de paramètres [dans Démarrer / Tous les programmes / Accessoires / Outils système] qui vous guide pour récupérer les paramètres sauvegardés dans le fichier créé par SCANSTATE.EXE.

Une fois l’opération terminée, vous avez récupéré la personnalisation de Windows 98.

Si vous le souhaitez, cette procédure peut être automatisée avec la commande LOADSTATE.EXE qui est aussi dans le dossier Valueadd msft usmt.

Sur le poste Windows XP : LOADSTATE /I migsys.inf /I miguser.inf //nomserveur/nompartage

Cette commande permet d’appliquer les paramètres Windows sauvegardés précédemment.

Qu’est-ce qu’un domaine Windows ?

Dans un groupe de travail Windows, l’accès à un ordinateur exige une authentification par rapport à la base des comptes de l’ordinateur. Cette base est stockée dans un fichier intitulé SAM (Security Account Manager).

Si le groupe de travail est constitué de 10 ordinateurs avec un utilisateur par ordinateur et que tous les utilisateurs doivent accéder à tous les ordinateurs, l’administrateur doit créer 100 comptes au total. C’est d’autant plus lourd que l’opération doit être renouvelée partiellement lors de la perte d’un mot de passe.

Pour remédier à cette lourdeur, Microsoft propose d’utiliser un domaine Active Directory. Un domaine centralise la base des comptes dans un fichier intitulé NTDS.DIT. Cette base des comptes contient, entre autres informations, les comptes des ordinateurs qui font partie du domaine et les comptes des utilisateurs qui sont membres de ce domaine.

Pour créer un domaine Active Directory, il faut un ordinateur sur lequel est installé Windows 2000 Server, Windows Server 2003 ou Windows Server 2008. Ensuite, la création du domaine se fait à l’aide d’un assistant qui s’exécute avec le programme DCPROMO.EXE.

L’assistant vous interroge et vous demande notamment un nom de domaine, par exemple MONDOMAINE.STE. Notez que nous n’avons pas écrit MONDOMAINE.FR ou MONDOMAINE.COM afin de différencier l’Internet de l’Intranet. Une fois le domaine créé, vous créez les comptes utilisateurs (ALICE, BOB, CHARLES, etc.). Vous créez (ou vous rattachez) les comptes d’ordinateurs (ETOILE, MARS, VENUS, etc.) qui font partie du domaine.

Lorsque BOB cherche à se connecter au domaine MONDOMAINE.STE, il utilise l’ordinateur VENUS sur lequel il saisie son nom de compte (BOB), son mot de passe et son intention de se connecter sur le domaine MONDOMAINE.STE.

Selon un protocole défini au préalable, le contrôleur du domaine MONDOMAINE.STE vérifie les informations transmises lors de la demande d’ouverture de session par rapport à la base NTDS.DIT. Si ces informations sont correctes, le contrôleur de domaine renvoie un jeton (c’est une suite de caractères binaires) qui contient son accord d’ouverture de session, ainsi que la liste des groupes auxquels BOB appartient.

Lorsque BOB cherche à accéder à une ressource (par exemple un dossier partagé) du domaine MONDOMAINE.STE, son jeton est présenté à l’ordinateur (par exemple MARS) qui détient la ressource. MARS va aussitôt vérifier ce jeton auprès du contrôleur de domaine. Si MONDOMAINE.STE confirme son authenticité, MARS accepte la connexion demandée par BOB. Autrement dit, MARS ne contrôle pas l’authenticité de la demande de connexion par rapport à sa propre base SAM mais par rapport à la base NTDS.DIT du contrôleur de domaine.

Que se passe-t-il si le contrôleur de domaine a un crash ? Il est conseillé d’avoir plusieurs contrôleurs de domaine sur le même domaine afin d’assurer une meilleure robustesse au crash d’un contrôleur de domaine. Pour installer un second contrôleur de domaine, il est nécessaire d’avoir un autre ordinateur sur lequel est installé Windows Server 2008. Lors du lancement de DCPROMO.EXE, vous indiquez que le contrôleur de domaine que vous êtes en train d’installer est un nouveau contrôleur de domaine d’un domaine existant.

L’assistant cherche à contacter le contrôleur de domaine existant. Quand il a réussi, il recopie intégralement la base NTDS.DIT. A la fin de l’installation du nouveau contrôleur de domaine celui-ci se comporte exactement comme le premier, pour le service d’authentification. Attention, il existe d’autres services d’architecture qui font que les deux contrôleurs de domaine ne sont pas exactement équivalents.

Toutefois, afin d’avoir des mécanismes de résistance de panne et d’assurer un meilleur équilibrage des ressources, il est nécessaire d’installer plusieurs contrôleurs de domaine dans un même domaine.

Qu’est-ce qu’un workgroup Windows ?

Pour ouvrir une session sur un poste Windows, vous sélectionnez un nom de compte (par exemple, ALICE) puis vous saisissez un mot de passe. Windows accepte d’ouvrir la session uniquement si les deux informations (nom de compte, mot de passe) sont exactes. La vérification s’effectue par rapport à une base des comptes stockée dans un fichier intitulé SAM (Security Account Manager).

Un groupe de travail consiste à réunir sous un même nom (par exemple, workgroup ou GALAXIE) des ordinateurs qui se trouvent sur un même réseau physique et logique: le plan d’adressage IP leur permet de communiquer entre eux. Ainsi, grâce à l’explorateur, l’utilisateur voit les ordinateurs du groupe de travail GALAXIE regroupés dans Favoris réseau / Tout le réseau / Réseau Microsoft Windows / GALAXIE.

Lorsque l’utilisatrice ALICE veut se connecter sur un partage de l’ordinateur MARS du groupe de travail GALAXIE, cet ordinateur contrôle systématiquement, s’il existe un compte ALICE, avec le bon mot de passe, par rapport à sa propre SAM. Ce qui signifie que l’administrateur doit avoir créé un compte ALICE, avec le bon mot de passe, sur l’ordinateur MARS pour qu’ALICE puisse se connecter au partage. Si le compte n’est pas créé ou si le mot de passe est différent, ALICE se verra proposer de saisir un nom de compte et un mot de passe.

Tant que ces informations ne seront pas connues de MARS, ALICE ne pourra pas se connecter.

L’administrateur informatique en charge de l’installation et la maintenance du groupe de travail GALAXIE, devra donc créer un compte ALICE, avec le bon mot de passe sur tous les ordinateurs du groupe de travail GALAXIE sur lesquels ALICE est susceptible de se connecter. S’il existe plusieurs ordinateurs, cela signifie probablement qu’il existe plusieurs utilisateurs. Il faudra donc répéter ces opérations de créations de compte pour chaque utilisateur, soit une combinatoire qui monte vite.

Par ailleurs, il est nécessaire de prévoir des procédures en cas de perte de mot de passe, ou bien en cas de crash d’un ordinateur. Sachez que Microsoft n’autorise pas plus de 10 connexions simultanées sur un poste de travail Windows XP, Vista ou Seven.

La simplicité apparente du groupe de travail cache un coût de possession élevé et doit être réservé à des départements, ou des agences ou des sociétés avec moins de 6/7 postes de travail. La solution à ces problèmes est apportée par Microsoft avec la notion de domaine Active Directory.

Qu’est-ce qu’un thread ?

Un programme est un ensemble ordonné d’instructions. Tant qu’il ne fonctionne pas, le programme est du code « mort ». Pour fonctionner, un programme moderne a besoin d’un système d’exploitation. Notez que cela n’a pas toujours été le cas, car au début de l’informatique le système d’exploitation et le programme n’étaient pas dissociés.

Ainsi, un virus logé dans un programme sur une clef USB ne contaminera pas votre ordinateur tant que ce programme ne sera pas exécuté.

Lorsqu’un programme s’exécute, il devient un processus. Tout processus possède au moins une unité d’exécution (thread). Le thread bénéficie (= consomme) de la CPU et s’appuie sur les ressources (= mémoire, par exemple) du processus. Un processus peut avoir plusieurs threads.

Dans Windows, lancez le Gestionnaire de tâches en appuyant simultanément sur les touches: CTRL et MAJ (ou SHIFT) et Echap.

Cliquez ensuite sur l’onglet Processus, vous verrez les processus en cours d’exécution.

Dans le menu, cliquez sur Affichage puis Sélectionner les colonnes…

Dans la liste qui apparaît, cochez la case Nombre de threads et cliquer sur OK. Dans l’onglet Processus, vous voyez apparaître le nombre de threads par processus.

Pour en savoir plus, téléchargez, installez et exécutez Process Explorer de Mark Russinovich.

Parmi les très nombreuses informations détaillées qui sont affichées, vous verrez les composants du thread actif à un instant ‘t’.