J'ai manqué de temps ces dernières semaines pour alimenter le blog et je remarque que ce sujet n'est pas épuisé. Voici donc les fichiers de réponses qui sous-tendent l'enchainement des tâches dans l'installation scriptée de Windows XP. Attention, accrochez-vous, c'est du grand sport...
(Tous les fichiers publiés font partie d'un ensemble qui fonctionne effectivement en production et ils peuvent servir de guide).
Il faut avant tout publier sur un serveur WDS (Windows Deployment Service), une image de boot spécialement conçue permettant de démarrer les machines en PXE (F12 au démarrage). Peut-être qu'un jour, je ferai un post la-dessus, même si maintenant, tout cela reste Old School.
Il faut commencer par la rédaction du fichier unattend.txt qui est le fichier d'installation sans assistance de Windows XP:
Le fichier de réponse unattended.txt |
Dans ce fichier, il est indiqué qu'après l'installation silencieuse, le PC redémarre en mode Factory (Voir l'encadré en rouge).
Il est important de comprendre qu'il existe un dossier distribution bien rempli qui contient \i386\$OEM$\$1\Sysprep\ et que les fichiers de réponses de sysprep.exe et factory.exe sont tous stockés là, et sont copiés sur le disque du PC pendant l'installation silencieuse (C'est le sens de la clause OEMPreinstall=yes).
Le dossier Distribution contient des fichiers choisis |
Après la copie, vous allez retrouver en local sur le disque C:\ le dossier C:\Sysprep\ et son contenu (Encore une fois, il s'agit ici d'une traduction personnelle de l'installation sans assistance, qui fonctionne, mais rien ne vous empêche de créer une arborescence différente):
L'arborescence du dossier C:\Sysprep\ |
Qu'y-a-t'il la dedans?
- Les 3 fichiers clés du sysprep (Spécifiques dépendant du niveau de service pack de XP, dans ce cas XP SP2), Factory.exe, Setupcl.exe et Sysprep.exe.
- Le fichier de réponse de Factory.exe: Winbom.ini
- Le fichier de réponse de Sysprep.exe: Sysprep.inf
- Deux fichiers de scripts qui jouent un rôle très important pour la prise en charge des pilotes matériels: CopieDrivers.vbs et CopieWinbom.vbs
- Cinq sous-dossiers 0, 1, 2 ,3 et 4, qui contiennent les fichiers Winbom.ini à séquencer (Reportez-vous au shéma du séquencement ici)
1. Le PC est démarré en PXE (F12 au démarrage)
2. L'image de boot est chargée en mémoire
3. Le script StartNet.cmd est exécuté
Il connecte le lecteur Y: au partage Distribution
Il lance le script de partitionnement:
diskpart /s Y:\outils\diskpart.txt
format C: /Q /Y /FS:NTFS
bootsect /nt52 SYS /force
Fichier diskpart.txt
select disk 0
clean
select disk 0
create partition primary
assign letter=c
active
Il formate la partition créée et écrit le secteur de boot spécifique pour XP(Bootsect /nt52)
4. Il lance le script unattend.bat
@rem SetupMgrTag
@echo off
set AnswerFile="y:\unattend.txt"
set SetupFiles="y:\I386"
y:\I386\winnt32.exe /s:%SetupFiles% /unattend1:%AnswerFile% /makelocalsource
x:
wpeutil Reboot
5. L'installation sans assistance se produit et le PC redémarre (wpeutil Reboot) en mode Factory (C'est le sens de la clause FactoryMode=yes)
6. Factory.exe est lancé au démarrage et trouve le fichier Winbom.ini dans C:\Sysprep
[Factory]
NewWinbom=C:\SYSPREP\0\Winbom.ini
WinBomType = Factory
[ComputerSettings]
AutoLogon = Yes
;Factory processes AutoLogon only if the administrator password is blank.
Le fichier contient la clause NewWinbom qui donne l'emplacement du fichier à exécuter préalablement: C:\SYSPREP\0\Winbom.ini. Factory.exe va lire ce fichier:
Le fichier C:\Sysprep\0\Winbom.ini |
Le fichier contient la clause NewWinbom qui donne l'emplacement du fichier à exécuter préalablement: C:\SYSPREP\1\Winbom.ini. Factory.exe va lire ce fichier:
Le fichier C:\Sysprep\1\Winbom.ini |
Le fichier contient la clause NewWinbom qui donne l'emplacement du fichier à exécuter préalablement: C:\SYSPREP\2\Winbom.ini. Factory.exe va lire ce fichier:
Le fichier C:\Sysprep\2\Winbom.ini |
Le fichier contient la clause NewWinbom qui donne l'emplacement du fichier à exécuter préalablement: C:\SYSPREP\3\Winbom.ini. Factory.exe va lire ce fichier:
Le fichier C:\Sysprep\3\Winbom.ini |
Le fichier contient la clause NewWinbom qui donne l'emplacement du fichier à exécuter préalablement: C:\SYSPREP\4\Winbom.ini. Factory.exe va lire ce fichier:
Le fichier C:\Sysprep\4\Winbom.ini |
Voilà, c'est le dernier fichier de configuration! Cette fois, Factory.exe ne trouve pas la fameuse clause NewWinbom et lance l'exécution des instructions du fichier C:\Sysprep\4\Winbom.ini:
- Un fichier clé dans le système que j'ai conçu: la copie des drivers spécifiques au PC CopyDrivers.vbs
- la mise à jour de Windows Installer.
Reseal = Reboot
ResealMode = Factory
ResealMode = Factory
Ensuite, il va exécuter en séquence le fichier Winbom qu'il a passé,
C:\Sysprep\3\Winbom.ini qui contient les mêmes clauses:
Reseal = Reboot
ResealMode = Factory
ResealMode = Factory
- Installation d'Internet Explorer 7
Puis le fichier C:\Sysprep\2\Winbom.ini:
Reseal = Reboot
ResealMode = Factory
ResealMode = Factory
- Installation de très nombreuses mises à jour et de composants système
Puis le fichier C:\Sysprep\1\Winbom.ini:
Reseal = Reboot
ResealMode = Factory
ResealMode = Factory
- Installation des applications qui font partie d'un socle partagé par tous
Puis le fichier C:\Sysprep\0\Winbom.ini:
Reseal = Reboot
ResealMode = Factory
- Un fichier clé dans le système que j'ai conçu: CopyWinbom.vbs
- Installation de nombreuses mises à jour des applications préalablement installées
Le fichier C:\Sysprep\CopyWinbom.vbs |
Bravo au lecteur patient qui a tenu jusque là! J'espère que pour l'instant, c'est clair, car j'ai personnellement mis beaucoup de temps à comprendre comment s'enchainent les fichiers Winbom.ini, avec les clauses NewWinbom, et aussi à inventer le système qui prend en charge les pilotes spécifiques au hardware.
Il faut se rendre compte que jusqu'ici, sans aucune intervention de l'utilisateur et après une préparation adéquate, XP SP2 (Pour SP3, il y a moins de mises à jour) s'installe sans assistance, ainsi qu'un beau socle applicatif incluant Office entièrement mis à jour.
Accrochez-vous, ça va devenir vraiment interressant !!!
Maintenant, la clé du système c'est la phase finale, le dernier factory.exe, qui arrête la machine et la rend disponible pour être capturée et publiée sur un serveur WDS. Prêt?...Go!
Une question simple est la suivante: il y a beaucoup de modèle de PC différents, comment prendre en charge l'installation des pilotes sans télécharger sur le PC des centaines de MB de données? J'ai developpé le script CopyDrivers.vbs:
Le script CopyDrivers.vbs |
Et (Par exemple) le dossier 2530p contient tous les pilotes matériels du HP 2530p:
Quant au fichier Winbom.ini qui est spécifique au PC, il contient une clause OEMRunOnce qui installe une partie des pilotes matériels (Ceux qui ont un programme d'installation) et une clause UpdateIni qui permet l'installation correcte des autres pilotes avec le PlugAndPlay, lors de la dernière phase du sysprep:
Le fichier Winbom.ini spécifique pour le 2530p |
[EditeSysprep]
C:\sysprep\sysprep.inf, Unattended,, "OemPnPDriversPath=..."
OemPnPDriversPath édite le registre là où il stocke le chemin des pilotes. C'est ce chemin qui est lu dans la phase de PlugAndPlay de Sysprep au cours de laquelle le matériel installé est détecté, et le meilleur pilote est recherché.
8. Le PC redémarre pour la dernière fois en mode Factory, le fichier Winbom.ini spécifique au poste a été copié dans C:\Sysprep. Les clauses sont exécutées Reseal=shutdown
ResealMode=mini
ResealFlags=-activated
9. Le PC passe en mode Mini-Setup et s'arrête
Le fichier Sysprep.inf est modifié par factory.exe avec le dernier Winbom.ini |
Vous voyez dans cet exemple, qu'au démarrage, il sera ajouté automatiquement au domaine dans l'OU déploiement, après avoir exécuté le plug and play qui fera l'installation des pilotes. Rien ne vous empêche de développer un ou plusieurs scripts qui seront lancés à la fin de l'exécution du Sysprep:
[GuiRunOnce]
Command0 = "%SYSTEMROOT%\Install.cmd"
Cela peut servir pour installer des agents antivirus ou des agents d'asset management comme SCCM ou LANDesk imédiatement après l'ajout au domaine.
Merci de votre attention!
Aucun commentaire:
Enregistrer un commentaire
Commentaires bienvenus !