> Tech > Mise à  jour de registre automatisée

Mise à  jour de registre automatisée

Tech - Par Ethan Wilansky - Publié le 24 juin 2010
email

Utilisez un script pour mettre à jour à distance les registres de machines multiples

Dans toutes sortes de situations, il est utile de pouvoir effectuer à distance des mises à jour de registres sur plusieurs ordinateurs. Quand une anicroche dans la configuration des registres compromet la sécurité, il faut procéder rapidement à leur mise à jour. La mise à jour à distance des registres de multiples ordinateurs est tout aussi utile dans deux autres cas : pour appliquer un changement d’OS personnalisé à un ensemble de systèmes ou pour appliquer une entrée de registre supplémentaire contribuant au bon fonctionnement du logiciel.Quelle qu’en soit la raison, les mises à jour de registres centralisées sont de mise dans les réseaux de taille grande et moyenne.
Le Microsoft Resource Kit Group m’a récemment demandé d’écrire une série de scripts pour le « Best Practice Guide for Securing Active Directory Installations and Day-to-Day Operations : Part II », que l’on peut télécharger à http://www. microsoft.com/downloads/details.aspx?familyid=c0dbeb7e-d476-4498-9f6c-24974 fb81f1e&displaylang=en. L’un des scripts que j’ai écrits, ApplyReg.vbs, met à jour à distance les registres de multiples ordinateurs. Bien que l’on puisse employer l’utilitaire Reg avec le paramètre Add pour mettre à jour des registres à distance, Reg ne fonctionne que pour un ensemble limité de clés de registres. Ce n’est pas le cas d’ApplyReg.vbs qui n’impose aucune limite de clé. Le script applique les mises à jour de registres à la liste d’ordinateurs que vous avez fournie, puis crée un rapport indiquant si l’ensemble des mises à jour de registres de chaque ordinateur s’est bien effectué.
ApplyReg.vbs s’appuie sur plusieurs technologies : ActiveDirectory (AD), Active Directory Service Interfaces (ADSI), Windows Management Instrumentation (WMI), Windows Script Host (WSH) 5.6, et VBScript. (Si vous voulez utiliser un script Perl pour appliquer les mises à jour de registres, voir l’article « Vérifier les registres à distance », Windows & .Net Magazine juillet-août 2002, ou sur www.itpro.fr, pour l’utilisation de Perl dans ce contexte.) Nous allons voir comment se préparer pour ApplyReg.vbs (y compris la manière de tester le script), comment exécuter le script en production et comment il fonctionne.

Mise à  jour de registre automatisée

En matière de registres, le dogme de Microsoft est clair : « Ne
modifier le registre que s’il n’y a pas le choix ». L’éditeur du
registre contourne les protections standard, autorisant des
paramètres susceptibles d’endommager votre système ou de
vous obliger à  réinstaller Windows. Si vous devez modifier le
registre, faites-en d’abord une sauvegarde. » Si vous n’avez
pas pesé l’importance de ce message auparavant, croyez-y
aujourd’hui. ApplyReg. vbs est capable de modifier – et d’endommager
– le registre sur des milliers d’ordinateurs en
quelques minutes.
Toujours dans l’esprit de la mise en garde de Microsoft,
avant d’utiliser ApplyReg.vbs dans un réseau de production,
vous devez tester et retester le script en laboratoire. Les systèmes
de test doivent représenter fidèlement les ordinateurs
de production visés par la mise à  jour des registres.
ApplyReg.vbs compte sur AD pour déterminer le nom
(hôte ou NetBIOS) des ordinateurs dont il mettra à  jour les
registres. Il faut donc que tous les ordinateurs de test, y compris
celui qui exécutera ApplyReg.vbs, soient membres d’un
domaine AD. Après avoir configuré les systèmes de test, il
vous faudra télécharger ou créer plusieurs fichiers :

  • Il faudra télécharger ApplyReg. vbs à  partir du site Web
    www.itpro.fr. (Club Abonnés)

  • Il faudra créer un fichier de registres (.reg) qui contient les
    mises à  jour des registres que vous voulez appliquer. J’ai inclus
    un exemple de fichier de registres nommé AAA123
    Test!!!.reg, qui se trouve dans le fichier 40714.zip. Vous
    pouvez utiliser ce fichier exemple pour faire participer
    ApplyReg.vbs à  un test. Mais ce fichier de registres n’est
    qu’un exemple de fichier, qu’il ne faut pas appliquer aux
    ordinateurs présents dans un réseau de production. Si
    vous ne connaissez pas bien le format d’un fichier de registres,
    voir l’encadré « Le format des fichiers de registres »
    et examiner le contenu de AAA123Test!!!.reg.

  • Il faut créer un fichier texte (.txt) contenant une liste des
    ordinateurs à  mettre à  jour. Dans ce fichier d’entrée, listez
    les ordinateurs cible par leurs DN (distinguished names).
    Placez chaque DN sur une ligne séparée, mettez chaque DN entre guillemets et ajoutez une virgule après le guillemet
    de fin. N’incluez aucune ligne vierge. Au début du fichier
    d’entrée, entrez un en-tête de colonne, comme
    Distinguished Name. La figure 1 montre un exemple de
    liste. Il est important d’ajouter l’en-tête de colonne et les
    virgules de fin. Faute de quoi, ApplyReg.vbs pourrait ne pas
    fonctionner correctement.

Au lieu de créer manuellement le fichier d’entrée, on
peut utiliser le script ComputerSearch.vbs pour générer par
programmation une liste valide destinée à  être lue par
ApplyReg.vbs. Le téléchargement de « Best Practice Guide for
Securing Active Directory Installations and Day-to-Day
Operations : Part II » inclut ComputerSearch.vbs. La section
« Identifying Computers to Receive New Registry Settings
with ComputerSearch.vbs » du guide décrit la manière de
créer et d’exécuter ComputerSearch.vbs. ComputerSearch.
vbs génèrera un fichier d’entrée adéquatement formaté qui
contient les DN des ordinateurs de votre domaine.
Placez ApplyReg.vbs, votre fichier de registres, et votre fichier
d’entrée sur l’ordinateur à  partir duquel vous exécuterez
ApplyReg.vbs (que j’appelle l’ordinateur source).
Assurez-vous que WSH 5.6 est installé sur l’ordinateur
source. ApplyReg.vbs a besoin de WSH 5.6 parce qu’il
compte sur l’objet WshNamed et sur la propriété StdOut de
l’objet WScript. Ces deux fonctions n’existent pas dans les
versions antérieures de WSH. Vous pouvez télécharger WSH
5.6 pour Windows 2000, Windows NT 4.0, Windows Me et
Windows 98, à  partir de http://msdn.microsoft.com/library/
default.asp?url=/downloads/list/webdev.asp. Windows
Server 2003 et Windows XP incluent déjà  WSH 5.6.
Toutefois Microsoft a diffusé une mise à  jour build pour WSH 5.6 dans XP. Si ce n’est déjà  fait, vous pouvez télécharger et
installer la mise à  jour.
L’ordinateur source et tous les ordinateurs cible ont besoin
de WMI. L’ordinateur source en a besoin pour établir
une connexion à  distance avec le référentiel WMI de chaque
ordinateur cible. Chaque ordinateur cible a besoin de
Registry Provider (StdReg Prov) de WMI pour faire les mises
à  jour des registres. Tous les ordinateurs utilisant WMI ont
StdRegProv dans le namespace root\default.
A l’exception de NT 4.0 et de Win98, tous les OS Windows
incluent WMI. Vous pouvez télécharger WMI CORE 1.5 pour
Win98 à  partir de http://msdn.microsoft.com/library/default.
asp?url=/downloads/list/wmi.asp. Le téléchargement
de WMI CORE 1.5 pour NT 4.0 n’était pas disponible sur le
site Microsoft, je l’ai donc inclus dans le fichier 40714.zip.

Téléchargez gratuitement cette ressource

5 Axes de Modernisation des Postes Clients

5 Axes de Modernisation des Postes Clients

Pour aider les entreprises à allier les restrictions liées à la crise et la nécessaire modernisation de leurs outils pour gagner en réactivité, souplesse et sécurité, DIB-France lance une nouvelle offre « Cloud-In-One » combinant simplement IaaS et DaaS dans le Cloud, de façon augmentée.

Tech - Par Ethan Wilansky - Publié le 24 juin 2010