FI/7/99

Expérience pratique d'installation d'ordinateurs dans un environnement hétérogène

Installation avec ZAK sur NT

Laurent.Kling@epfl.ch, DA, Service Informatique et institut Informatique, Représentation, Expression

L'article précédent décrit le principe d'installation utilisé pour les Macintosh du DA. Cette première méthode est également applicable aux PC.

Windows NT (ou Windows95-98-2000) demande cependant quelques précautions du fait de la base de registre.

En effet, ce système utilise une structure de donnée avec un élément d'unicité, c'est-à-dire que chaque installation détermine une structure qui doit être unique dans le cas d'une utilisation en réseau (sauf pour les Backup Domain Controller qui partagent celle du Primary Domain Controller). Ce principe est également présent dans Office, ce qui fait que chaque document créé avec une installation d'Office est identifiable par rapport à la configuration (machine-logiciel) qui l'a créée. Vous avez dit Big-Brother? C'est au moyen de ce principe que le créateur du virus Mélissa a pu être confondu ! (Le fichier original de cet article a été créé avec un vulgaire, mais performant, éditeur de texte, BBEdit-CQFD).

Ainsi, il est nécessaire de générer un ID spécifique à la machine (en utilisant un outil comme ghost). De plus, l'image utilisée est spécifique à un type d'ordinateur (carte mère, carte graphique, carte réseau, logiciel installé) et doit, comme décrit précédemment, être configurée au niveau du réseau. Malheureusement, elle n'est applicable qu'avec un parc d'ordinateurs identiques ou une série de parcs. Dans un cas concret d'une salle publique, sur 16 ordinateurs, on trouve:

Avec un tel état des lieux, ce principe de gestion devient problématique, voire impossible. Heureusement, il existe une solution à cette problématique: ZAK (Zero Administration Kit), un ensemble d'outils et une méthode pour installer de manière automatique un parc hétérogène de Windows NT 4.0. Le ZAK s'applique de la manière suivante:

L'installation de Windows NT se déroule normalement en quatre étapes:

Une étape supplémentaire peut s'intercaler consistant à convertir la partition du système de FAT16 à NTFS. A ce stade, le système NT est fonctionnel, mais le chemin est encore long. En effet, il reste à appliquer le service pack et à installer l'ensemble des applications désirées... Pour automatiser ce (long) processus, on peut commencer par l'installation du système proprement dit. NT autorise un mode d'installation sans interruption (unattended) à condition qu'on lui fournisse l'ensemble des paramètres nécessaires à la phase graphique. Le texte 1 fichier unattended en est un exemple.

texte 1: fichier unattended

[Unattended]
OemPreinstall = yes
NoWaitAfterTextMode = 1
NoWaitAfterGUIMode = 1
FileSystem = ConverNTFS                                    {**1**}
ExtendOEMPartition = 1
ConfirmHardware = no
NtUpgrade = no
Win31Upgrade = no
TargetPath = ROOTNT
OverwriteOemFilesOnUpgrade = no
KeyboardLayout = "Swiss French"
OEMskipEULA = yes                                          {**2**}

[UserData]
FullName = "gidapc10"
OrgName = "DASI"
ComputerName = GIDAPC10

[OEM_Ads]
Banner = "DASI*Windows NT 4.0 ZAK CLIENT SETUP"   {**3**}

[GuiUnattended]
OemSkipWelcome = 1                                          {**4**}
OEMBlankAdminPassword = 1
TimeZone = "(GMT+01:00) Berlin, Stockholm, Rome, Bern, Brussels, Vienna"

[Display]
ConfigureAtLogon = 0
BitsPerPel = 16
XResolution = 1024
YResolution = 768
VRefresh = 60
AutoConfirm = 1

[Network]
; car plus détection automatique ! lk 26.3.98 thanks to Dupertuis 2702...
;DetectAdapters = ""
InstallAdapters = InstallAdapterList
;
InstallProtocols = ProtocolsSection
InstallServices = ServicesSection                         
JoinDomain = DA-SI
CreateComputerAccount = encore, un effort                    {**5**}

; car plus detection automatique ! lk 26.3.98                {**6**}
[InstallAdapterList]
SMC9432 = OEMAdapterParamSection, \$OEM$\NET\SMC

[OEMAdapterParamSection]
LineSpeed = 0

[DetectAdaptersSection]
DetectCount = 1
;

[ProtocolsSection]
TC = TCParamSection
NBF = NBFParamSection

[TCParamSection]
DHCP = no
IPAddress = 128.178.62.XX
Subnet = 255.255.255.0
Gateway = 128.178.62.1
DNSServer = 128.178.15.8, 128.178.15.7
WINSPrimary = 128.178.1.44
WINSSecondary = 128.178.151.82
DNSName = epfl.ch

[NBFParamSection]

[ServicesSection]

*** remarques ***
1:     FileSystem = ConverNTFS      convertit uniquement la partition boot...
       [C:\ généralement]
2:     OEMskipEULA = yes,encore une astuce non documentée, EULA = End Users Licence Agreement 
       permet d'éviter ce £!*%& de dialogue
3:     Banner = "" permet de définir votre propre texte dans la phase GUI 
       [vive la cosmétique]
4:     OemSkipWelcome = 1  pour éviter de la publicité [de qui vous savez]
5:     CreateComputerAccount  permet de joindre automatiquement un domaine...
6:     [InstallAdapterList]...  permet de définir un composant n'existant pas dans la 
       distribution de NT. Ce qui est généralement le cas pour les cartes réseaux
       et graphiques, les fichiers devant se situer dans \i386\$oem$\$$\ [si, si  c'est le bon chemin]
       Attention: tous les fichiers contenus dans $oem$ doivent suivre la convention des noms courts (DOS)
       pour que l'installation fonctionne !
       En ce qui concerne le reste des commandes, je me permets de vous renvoyer à la documentation de ZAK, 
       ou aux deux livres cités en bibliographie !

Un des problèmes qui peut survenir avec ce fichier de configuration est l'utilisation d'un périphérique qui n'existait pas (ou n'est pas compatible) à la date de création de votre version Windows NT. Dans ce cas, généralement pour une carte réseau ou graphique, NT va soit s'arrêter, soit se planter dans son installation. Il est donc nécessaire d'introduire dans la distribution de NT ces drivers (attention: ceux de NT, et non ceux de Windows 95). En plus, il faudra indiquer dans le script, le fait qu'il ne faut pas essayer de trouver le driver dans ceux qui sont prédéfinis, mais l'obliger à choisir les nouveaux (voir remarque 6 dans le texte 1 ci-contre). On peut aussi automatiquement se connecter au serveur de domaine, et inscrire l'ordinateur comme client du serveur.

Après cette phase d'installation du système d'exploitation, on peut passer aux applicatifs proprement dits. Hélas, le principe d'une installation en mode «non interruptible» n'est pas disponible pour tous les logiciels. Deux cas de figure se présentent:

Heureusement, Microsoft a créé un outil, SysDiff, qui va nous aider dans ce travail. Il est disponible sur le CD-ROM Resource Kit de NT, mais il ne faut pas négliger d'utiliser la version à jour distribuée avec le ZAK ! Cet outil s'utilise en trois phases:

texte 2: fichier création base image

echo SysDiff mapper sur y: !
echo y:\sysdiff /snap /log:Y:\snap_pm65.log Y:\ilus7.IMG
y:\sysdiff /snap /log:Y:\snap_pm65.log Y:\ilus7.IMG

*** remarques ***
/diff     = différence
/log     = pour avoir une trace...
*.IMG     = fichier de base ( à passer comme paramètre dans le snap...)

texte 3: fichier création image

echo SysDiff mapper sur y: !
echo y:\sysdiff /diff /log:Y:\diff_ilus7.log Y:\ilus7.IMG Y:\il7DIF.IMG
y:\sysdiff /diff /log:Y:\diff_ilus7.log Y:\ilus7.IMG Y:\il7DIF.IMG

*** remarques ***
/diff     = différence
/log     = pour avoir une trace...
*.IMG     = fichier généré précédemment
*DIF.IMG= Fichier de différence [prêt à être appliqué]

On peut appliquer ce fichier sur une nouvelle installation NT, pour installer un logiciel ou un groupe de logiciels. Cet outil fonctionne correctement à deux conditions:

De plus, les préférences qui modifient profondément le registry (comme changer le type de grandeur de caractères dans le pilote de l'écran) ne sont pas acceptées. Finalement, je préfère quand même Unix à NT...

Note: le nom de fichier doit respecter la notation DOS !

Il faut faire attention à un principe de base de SysDiff. Celui-ci a été conçu pour faire la différence entre 2 états de la machine, MAIS, il ne fonctionne correctement que si l'on AJOUTE des fichiers. Si vous l'utilisez pour enlever des fichiers, (ce qui serait une fonction normale de ce genre d'outils) attendez-vous à des problèmes...

Il ne reste à installer réellement que les programmes qui modifient en profondeur le système comme le logiciel de protection d'anti-virus (voir texte 6).

texte 6: le fichier pour l'anti-virus


@rem
@rem pour installer virus scan unattented
@rem par lk - 16 juillet 1999
O:\Vnti403l\Setup.exe -s
@rem
@rem pour mettre a jours les database
@rem
O:\Vnti403l\SDAT\SDAT4034.EXE /silent /logfile C:\temp\SuperDAT.LOG

Cette méthode est appliquée aux PC dont la gestion m'incombe. Elle se déroule pratiquement en 3phases:

texte 4: fragment du fichier bat d'installation

:suite
x:
echo x:\i386\winnt.exe /u:x:\%2\Un_DA%1.txt /s:x:\i386
x:\i386\winnt.exe /u:x:\%2\Un_DA%1.txt /s:x:\i386
:fin

*** remarques ***
%1 = Numéro du poste
%2 = Unité
/u = unatended
/s = source de NT

Après le déroulement de l'ensemble du processus (environ de 30 à 60 minutes en fonction des applications), encore avec un réseau 10baseT..., (dommage) [voir texte 5].

texte 5: fichier d'installation


@REM
@REM Version with Security, Networks Limit, Zip drivers and PhotoShop
@REM
@REM     APPEND THE FOLLOWING ENTRIES
@REM     ============================
@REM
@net use O: \\DA_NT\NETAPPS /user:toujours un effort
@REM
@REM install service pack
cmd /c %SystemRoot%\base\scripts\sp.cmd
@REM
@REM install office 97
cmd /c %SystemRoot%\base\scripts\off97.cmd
@REM
@REM detruit le start par default
cmd /c %SystemRoot%\base\scripts\cleanup.cmd
@REM
@REM LK car patch pas ok ! REM %SystemRoot%\base\tools\sysdiff /apply /m %SystemRoot%\base\scripts\msie302.dif
@REM
@REM Pour ne pas autoriser le autolog !
REGEDIT.EXE /S %SystemRoot%\base\scripts\noautlog.REG
@REM
@REM LK car acces au floppy nécésaire... REM  %SystemRoot%\base\tools\instsrv FloppyLocker %SystemRoot%\system32\floplock.exe
@REM
@REM Set Admistrator PWD on local machine
@net user pourquois pas
@REM
@REM LK Pour installer les applications !
@REM Pour installer la distribution
@REM
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Netdiff.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Utl1dif.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Lesodif.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Cnfdiff.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Caddiff.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Archdif.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Utl2dif.img
@REM LK 1 mai 98  Acad 14
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\C14diff.img
@REM LK 16 juillet 1999 pour Config99-2000
@REM LK 16 juillet 1999 pour MacOpener 4.0 et Diskeeper 4.0
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Utl3dif.img
@rem avec pagemaker 6.53, Photoshop 5.02, Ilustrator 7.01 et QT 4.0
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Photdif.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Pm65dif.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Il7dif.img
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Utl5dif.img
@REM
@REM LK 5 aout 98 pour lecteur Zip
@%SystemRoot%\base\tools\sysdiff /apply /m O:\Diff\Zipdiff.img
@REM
@REM Converty le disk d en ntfs !
@CONVERT d: /fs:ntfs
@REM et le disk e en ntfs !
@CONVERT e: /fs:ntfs
@REM
@REM et quelque travail pour la sécurité...

@rem install virusscan (McAffe)
@rem intalle a la fin car reboot le computer !
@cmd /c %SystemRoot%\base\scripts\Vscan.cmd

Il reste à corriger certains problèmes de sécurité et la machine est en ordre (propre ?). En ce qui concerne la sécurité, j'ai adapté les configurations proposées par ZAK. Vous en parlerais-je dans un autre article ? Pour disposer des sources d'informations disponibles, je vous recommande d'imprimer la documentation fournie avec ZAK, et pour les personnes pressées, je me permets de vous recommander les 2ouvrages suivants (publiées malheureusement après mon travail):

J'utilise ZAK en production depuis 1997, qui, malgré une certaine complexité, reste un outil que je recommande à toutes personnes qui doivent gérer plus de 10 PC sous NT (et qui veulent le faire avec une certaine rationalité...). J'espère que ces deux articles ont pu éclairer les personnes qui débutent dans ce genre de travail et que ce type d'article peut trouver sa place dans le Flash informatique !

retour au sommaire du Flash informatique du mois de septembre 1999
retour à la page principale des Flash informatique
Vos commentaires
© FI-7-99 du 14 septembre 1999