Recette du déploiement d'images en utilisant
le serveur PXE de PowerQuest
(Reginald CHEVILLON)

 

MENU du jour

Un petit apéro pour patienter ?
      C'est quoi les images ?
      C'est quoi un serveur PXE ?

Salivons un peu
Les ingrédients
La préparation

   1 - préparation des clients

      Paramétrage du Bios des Dell OptiPlex GX280
      Installation d'une station modèle
         Script de personnalisation des stations
            Le principe
            En détails
         Inclure le service PowerOff
      Les images

   2 - Préparation de la disquette client PowerCast
   3 - préparation de 'adm'

      Si ce n'est déjà fait : installation de ImageCenter 5.5
      On crèe une image de notre disquette client PowerCast
      Paramétrage du serveur PXE
         1 - Utilitaire de configuration PXE

         2 - Autre possibilité
         3 - Pare-feu
      Préparation de l'automatisation du réveil des machines
      Préparation de l'automatisation de l'extinction des machines (facultatif)
La dégustation

      Phase 0 : Lancement et mise en attente du serveur PowerCast
      Phase 1 : Armement du serveur PXE et démarrage des machines
      Phase 2 : Le boot PXE
      Phase 3 : Exécution de la disquette virtuelle Client PowerCast
      Phase 4: La descente d'image
      Phase 5: Le reboot
      Phase 6: Le lancement de Windows, la personnalisation des stations et leur extinction
Fromage ou dessert ?

Cerise sur le gâteau


Un petit apéro pour patienter ?

C'est quoi les images ?

Si vous pensez qu'il y a un quelconque rapport entre les images dont il va être question ici et les appareils photo numériques, circulez, cette doc n'est pas faite pour vous.

C'est quoi un serveur PXE ?

Bon, voilà, on est entre nous.
Depuis peu, la plupart des cartes réseau (pas trop bas de gamme quand même), incluent deux fonctionnalités bien pratiques :
1- Le Wake On Lan : Quand cette fonction est activée, il est possible d'envoyer à partir d'une station distante, un "paquet magique" qui va réveiller notre ordinateur comme si on avait appuyé sur le bouton marche. Bien sûr, l'ordinateur est arrêté mais reste en veille.
2 - Le boot PXE : là c'est encore plus fort. Dès que l'ordinateur est allumé, il cherche sur le réseau un serveur DHCP. S'il en trouve un, il se prend une adresse IP et se met à la recherche d'un serveur PXE (Preboot eXecution Environment). Quand le serveur PXE est contacté, il vérifie s'il connaît la station qui le sollicite (par son adresse MAC). Si oui il regarde ce qui est prévu pour elle.
Deux possibilités :
a - Il n'y a rien de prévu. Dans ce cas, la main est rendue à la station qui continue son boot normalement.
b - Une disquette de boot virtuelle est prévue. Dans ce cas, la disquette virtuelle est téléchargée par le réseau et la station se comporte exactement de la même façon que si une disquette réelle avait été introduite dans son lecteur. Le transfert se fait en utilisant le protocole TFTP (Trivial FTP, un FTP rudimentaire).

 

Salivons un peu

De quoi est-il question ?
De laisser les machines se débrouiller toutes seules entre elles, en laissant à l'homme son vrai rôle : celui de contempler sa création.
Plus concrètement, il s'agit de descendre une "image" sur plusieurs postes sans lever le petit doigt sinon pour appuyer sur le bouton qui lancera le processus. Il n'y aura même pas à se déplacer, ni pour allumer les ordinateurs, ni pour leur fournir leur ration de disquettes (je pouffe), ni même pour les éteindre ! Tout ça se passera automatiquement.
Bon. J'exagère un tout petit peu, mais à peine. Voyez plutôt la suite...

 

Les ingrédients

- Un réseau, ici sous Novell NetWare, bien que le serveur de fichiers n'ait aucun rôle à jouer dans le déploiement d'images. Toutefois, les stations Windows XP étant dans un environnement NetWare, bien moins exigeant que Windows 200x, ne demanderont qu'une chose après le clonage : un nom (et aussi une adresse IP, mais ça c'est le DHCP qui le fournit).
Pour Windows 200x, les choses seraient certainement plus complexes, voire impossibles ? Pour l'automatisation de la descente d'image il n'y aurait pas de problème, mais pour la personnalisation des stations ça n'irait forcément pas pour plusieurs raisons (le SID n'est pas la seule). Si quelqu'un veut prendre le relais et se pencher sur la question...
- Un serveur DHCP. Indispensable pour le PXE. Chez nous le DHCP est fourni par le routeur.
- Une douzaine d'ordinateur clients qui vont recevoir l'image. Chez nous ce sont des Dell OptiPlex GX280. Ils ont bien sûr une carte réseau qui supporte le Wake On Lan et une Rom PXE. Ils se nomment 'p00', 'p01', 'p02', etc.
- Un ordinateur comme les autres sous Windows XP Pro qu'on va pompeusement bombarder "Serveur Power Cast". Il n'a rien de spécial à part un gros disque (qui servira à stocker les images). Chez nous il se nomme 'adm'. Retenez ce nom. Tout (à part le DHCP) partira de lui.
- Le logiciel Image Center 5.5 de PowerQuest qui comprend un serveur multicast (appelé PowerCast par PowerQuest) et un serveur PXE.
Tout ce que j'explique ici marcherait probablement aussi bien avec Ghost qui lui aussi embarque un serveur multicast et un serveur PXE, mais là je laisse à d'autres le soin de faire la doc. Moi c'est PowerQuest, point.
- Quelques utilitaires fournis ici (Ils sont sur ce site ou sur le site du créateur) :
  - lsl.com, Novell Link Support Layer for Dos ODI.
  - b57.com, le pilote Dos de la carte réseau Broadcom NetXtrem 57xx qui équipe les Dell OptiPlex.
  - WolCmd.exe, un logiciel gratuit qui permet de réveiller les stations par Wake On Lan. Il y en a d'autres, mais celui là permet de réveiller toute une salle par un simple script.
  - PowerOff.exe, un autre logiciel gratuit qui servira à éteindre les stations sous Windows.
  - wait.exe, un petit utilitaire qui permet de rajouter des temporisations dans les batchs.
  - flush_hd.com, un épouvantable utilitaire, considéré comme un virus de la pire espèce, qui en moins d'une seconde va effacer la table de partition de votre disque dur, rendant vos données totalement irrécupérables. C'est radical, mais indispensable pour virginiser un disque en un clin d'oeil. Ici vous le trouverez en version zippée. C'est plus prudent.
- Tous les autres fichiers font partie des outils d' ImageCenter.
- Quant aux scripts, ils sont faits maison et sont donnés ici à titre d'exemple car vous devrez bien entendu les modifier en fonction des caractéristiques de vos machines.

-----> Si vous êtes pressés, l'ensemble des fichiers utilitaires et autres scripts est zippé ici

 

La préparation

1 - préparation des clients

Paramétrage du Bios des Dell OptiPlex GX280

Il faut le faire une fois pour toutes sur chaque machine (en pressant F2 dès l'allumage).
Trois choses sont indispensables :
1 - L'ordre du boot : Le boot par le réseau doit être en tête de la liste
..... + System --> Boot Sequence --> 1 - Onboad Network Controller
         (si cette option n'est pas présente, activez d'abord le boot PXE puis redémarrez)
2 - Le boot PXE doit être activé.
.....+ Onboard Devices --> Integrated Nic --> On w/PXE
3 - Le réveil par Wake On Lan doit être activé.
.....+ Power Management --> Remote Wake Up --> On

Installation d'une station modèle

On prépare très soigneusement un des Dell OptiPlex que l'on nommera 'master'. Tous les autres seront des clones de celui-ci. Il ne faut donc pas le louper !
Il peut s'agir de n'importe quel OS, voire d'un multiboot comportant plusieurs OS, mais pour l'exemple on installera simplement Windows XP pro SP2 avec le client Novell (moi je suis NetWare et j'y reste :-)

Script de personnalisation des stations
Le principe

Avec un formatage en FAT32, il était possible de renommer les stations dans la foulée juste après la descente d'image, car la Base de Registre était éditable sous Dos. En NTFS, ce n'est plus possible. On va donc adopter la stratégie suivante :
- On lance Windows XP et juste avant l'ouverture de session, on exécute un script de démarrage.
- Le script teste si la station se nomme 'master' :
    - Si oui, le script renomme la station en fonction de son adresse MAC en exécutant un .reg, puis immédiatement après elle fait un ShutDown (le nom sera donc correct au prochain démarrage).
    - Si non, elle a déjà été renommée lors d'une précédente session. Donc le script rend tout de suite la main pour qu'on puisse ouvrir une session.

En détails
1 - Le script est un fichier ChngNom.bat que l'on copiera dans un répertoire C:\Windows\Renommer qu'il faudra créer.
Il est accompagné de DonneMAC.bat (pour obtenir l'adresse MAC de l'ordinateur) et d'un fichier reg par machine (par exemple p01.reg pour renommer le poste p01).
Au préalable, il faudra connaître bien entendu l'adresse MAC de chaque machine (par ipconfig /all par exemple) pour renseigner ChngNom.bat
2 - Activation du script de démarrage :
démarrer... Exécuter... gpedit.msc (la console Stratégie de groupe)
    Stratégie Ordinateur local... Configuration ordinateur...
         Paramètres Windows... Scripts (démarrage/arrêt)... Démarrage
              Ajouter... Nom du script : Parcourir... C:\Windows\Renommer\ChngNom.bat
         Modèles d'administration... Système... Scripts
               Exécuter les scripts d'ouverture de session en mode visible... Activé
Le script sera lancé à chaque démarrage, mais si la station a déjà été renommée, il s'exécutera en un clin d'oeil.

Inclure le service PowerOff
Si on veut pouvoir éteindre cette station à distance, il faudra également inclure le service PowerOff.
C'est du luxe, mais bien utile si des utilisateurs sont partis en laissant les postes allumés.
1 - Pour cela on lance PowerOff.exe
On coche "Allow remote control" (On ne touche pas aux valeurs par défaut : Port number : 3210 et Password)
Dans le menu 'Service' on demande "Create service", puis "Save settings to service"
On clique sur Close. Il y a maintenant une icone PowerOff dans la zone SysTray.
Quand 'master' sera prêt, on n'oubliera pas de faire le ménage (corbeilles, cache, etc.), plus un scandisk et un defrag.
2 - Il faut autoriser le port 3210 dans le Pare-feu de Windows.
Donc Panneau de configuration... Pare-feu Windows...
Onglet Exceptions... Ajouter un port... Nom : PowerOff   Numéro du port : 3210 en TCP   Ok

Les images

Quand la station 'master' est prête, on en fait une image.
Attention : Ne pas oublier d'inclure le MBR (Master Boot Record) dans l'image si on veut sauver la table de partitions (indispensable si l'on a déjà plusieurs images comportant différents nombres de partitions ou des partitions de tailles différentes).
Pour inclure le MBR dans l'image, il faut rajouter le commutateur /mbi=1 à la ligne de commande  (1 pour le 1er disque).
exemple : pqimgctr /img=toto.pqi /mbi=1
Ce n'est possible qu'en ligne de commande, il va donc falloir oublier l'interface graphique.
Pour plus de détails, voir ma doc sur PQDI4 (PowerQuest Drive Image 4. C'est l'ancienne version d'ImageCenter).
Il y a très peu de différence entre DriveImage et ImageCenter à part le nom de l'exécutable (pqpcast au lieu de pqdipc), le fait qu'il ne faut plus utiliser le commutateur /i24 et le /mbi=1 ou /mbr=1 qui remplacent les /mbi et /mbr   (Dans cette doc, le chapître concernant la personnalisation des stations est sans objet car il s'applique au format FAT32 et non NTFS).
Pour finir, l'image qu'on appellera pour l'exemple belimage.pqi (Attention ! Format 8.3) sera stockée sur 'adm' pour éviter les intermédiaires (Ce n'est nullement une obligation, mais 'adm' étant le serveur PowerCast on travaillera ainsi directement du producteur au consommateur, d'où un gain de temps certain).

 

2 - Préparation de la disquette client PowerCast

Avant de frimer avec sa disquette virtuelle, il faudra en faire une bien réelle.
Cette disquette peut contenir les fichiers systèmes de Caldera Dos ( ibmbio.com  et ibmdos.com) ou bien ceux de MsDos (io.sys et msdos.sys), mais aussi impérativement himem.sys, qui doit être appelé par config.sys (device=himem.sys), sinon la disquette réelle fonctionnera, mais pas la future disquette virtuelle.
Le "Boot Disk Builder" qui fait partie des outils PowerQuest va vous générer une disquette de type Caldera Dos. Donc le mieux est d'en passer par là, quitte à rajouter par la suite à la main vos propres fichiers. On a juste besoin du minimum.

1 - Lancer le Boot Disk Builder... Disques d'amorçage autonomes... Suivant... Cocher : "N'exécutez pas Image Center"... Suivant... Terminer
On introduit une disquette vierge formatée dans le lecteur et on clique sur Ok.
Cette disquette ne contiendra que les fichiers nécessaires au boot  (command.com  config.sys  himem.sys  ibmbio.com  ibmdos.com  mouse.com  mouse.ini)  +  un autoexec.bat qui sera remplacé par le notre.

2 - Copier sur cette disquette les fichiers suivants :
   - pqpcast.exe ------- Le serveur PowerCast
   - pqdplctr.rtc -------- Je ne sais pas, mais il le faut :)
         (Si vous avez installé ImageCenter avec les chemins par défaut, ces fichiers sont dans C:\Program Files\PowerQuest\DeployCenter 5.5\TSKBUID\BIN)
   - kicknic.com ------- Pour réinitialiser la carte réseau et la faire entrer en mode 'promiscious'
         (lui il est dans C:\Program Files\PowerQuest\DeployCenter 5.5\BDBUID)
   - lsl.com ------------- Novell Link Support Layer for Dos ODI
   - b57.com ------------ Le pilote Dos de la carte Broadcom NetXtrem 57xx
   - flush_hd.com ------ Le destructeur de tables de partitions
   Attention !!! La présence de flush_hd peut surprendre, mais pourtant cette petite horreur est indispensable car grâce à lui votre table de partition va être remise à neuf, juste avant la descente d'image (qui inclue le MBR). ImageCenter en mode PowerCast est censé écraser votre disque avant de descente l'image. En fait la présence de plusieurs partitions le perturbe et l'opération avortera la plupart du temps sans aucun message.
Gaffe quand vous allez copier flush_hd.com sur votre disquette, il est plus que probable que votre logiciel antivirus ne le permette pas ! Vous pouvez désactiver l'antivirus, mais ce n'est pas recommandé. Un faux mouvement ou un mauvais contact peut tranformer au moment de la copie le glisser-déplacer en double-clic. Dans ce cas vous allez exécuter en moins d'une seconde flush_hd.com ! Apparemment il ne se sera rien passé, aucun message, Windows continuera à fonctionner normalement... jusqu'au moment où vous redémarrerez votre ordinateur et qu'il vous annoncera "Operating system not found". C'est irrémédiable et sans remède si vous n'avez pas pris la précaution de sauver votre MBR au préalable.
Alors le plus sage est de faire la copie sous Dos, ou d'utiliser une vieille bécane, ou de prier pour que votre main ne tremble pas...

- Restent les fichiers 'maison' que vous pouvez copier ici, et que vous modifierez éventuellement selon les caractéristiques de votre réseau :
   - autoexec.bat  (Si vous examinez ce fichier, notez bien que le MBR va être restauré avec /mbr=1)
   - net.cfg
   - wattcp.cfg  ---> ce fichier est facultatif. Il donne une adresse IP à votre machine. Vous n'en avez pas besoin si vous avez un serveur DHCP.
Avant de convertir cette disquette réelle en disquette virtuelle, rien n'empêche de la cloner à 2 ou 3 exemplaires (avec VF Editor par exemple - voir plus bas) et de faire un test de descente d'image en mode PowerCast sur 2 ou 3 clients.

 

3 - préparation de 'adm'

Si ce n'est déjà fait : installation de ImageCenter 5.5

Dès le début, quand seront demandés les composants à installer, il ne faudra pas oublier de cocher 'PXE Server', car ce n'est pas le cas par défaut.
Quand il vous est demandé : "L'ordinateur sur lequel le serveur PXE est installé, fournit-il également des services DHCP ?", répondre Non.
On placera une icone raccourci vers le Serveur PowerCast (PQPCS32.exe) sur le bureau.
Redémarrer à l'issue de l'installation.
Si on regarde les services (Menu démarrer... Outils d'administration... Services), on constate que 2 services ont été rajoutés :
PowerQuest PXE Services   &   PowerQuest PXE MTFTP Service
Donc le serveur PXE est opérationnel dès maintenant. Reste à le paraméter... (voir plus bas)

On crèe une image de notre disquette client PowerCast

L'outil accompagne ImageCenter et se nomme "VF Editor"
On met sa disquette client PowerCast, on lance VF Editor et on clique sur l'icone "Lire disquette"
Quand la disquette est lue, on clique sur l'icone "Enregister" et on choisit le dossier où elle sera copiée. On va l'appeler ClientPC.vfd (Attention ! Format 8.3)
Cette image de disquette (extension VFD) est d'ailleurs bien pratique, il suffit de double-cliquer dessus pour créer autant de disquettes clones de l'original que souhaitées.
Mais nous avons de plus hautes visées : Transformer cette image en disquette virtuelle ! C'est l'étape suivante.

Paramétrage du serveur PXE

1 - Utilitaire de configuration PXE qui se trouve dans les outils PowerQuest.
- Onglet "Disquettes virtuelles PXE"
  ... Ajouter... Nom de la disquette virtuelle... (parcourir)...
          ClientPC.vfd (on cherche un type de fichier *.vfd et non *.1)
en effet, le format de disquette virtuelle PXE est *.0 et *.1.
La conversion est automatique et notre disquette va se retrouver dans le dossier :
  C:\Program Files\PowerQuest\DeployCenter 5.5\PXE Server\BOOTIMAG\X86PC\UNDI\ClientPC\
sous forme de 2 fichiers : ClientPC.0 et ClientPC.1
Elle apparaîtra désormais dans la liste des "Disquettes virtuelles disponibles pour PXE" sous le nom ClientPC.1

- Onglet "Affectation MAC"
  ... Ajouter... Affectation d'adresse MAC... On tape l'adresse MAC d'une station
          puis on déroule la liste Affectation : et on choisit notre disquette virtuelle 'ClientPC.1'
             Enfin on coche : "Exécuter une fois et adopter l'amorçage local". On verra pourquoi tout à l'heure.

2 - Autre possibilité, par la suite on peut se passer de l'Utilitaire de configuration PXE simplement en modifiant à la main un fichier texte situé ici :
    C:\Program Files\PowerQuest\DeployCenter 5.5\PXE Server\BOOTIMAG\X86PC\UNDI
Il se nomme MACassign.txt et se présente ainsi :
    00 11 43 B5 F9 4A   ClientPC.1   *     <-- lancer la disquette virtuelle ClientPC.1 une seule fois (*)
    00 11 43 B6 19 77    Toto.1                <-- lancer la disquette virtuelle Toto.1 à chaque démarrage
    00 11 43 B5 F9 8B    0                        <-- Démarrer sur le disque dur local (Boot normal)
    00 11 43 B5 F9 8C    ?                        <-- Démarrer sur le menu PXE (le client peut choisir dans un menu ce qu'on lui propose)
    ...etc...                                                      (attention pas de retour chariot après la dernière ligne)
Donc rien de plus facile que de modifier ce fichier texte ou d'en avoir plusieurs versions toutes prêtes à être recopiées selon les besoins.
Par exemple, on crée dans le même répertoire que MACassign.txt, un fichier type ClientPC.txt qui comporte une seule ligne :
    00 11 43 B6 ** ** ClientPC.1 *
     Signification : Toutes les adresse MAC commençant par 00 11 43 B6 sont concernées quelques soient leurs 4 derniers chiffres (** **)
                               Elles recevront la disquette virtuelle ClientPC.1 une seule fois (*) et démarreront normalement au boot suivant.
Ce fichier sera recopié comme MACassign.txt juste avant que soit déclenchée la descente d'image afin d'"armer" le serveur PXE.
En fait, ça revient à introduire une disquette virtuelle dans un lecteur partagé virtuel. C'est le fichier GO.bat (voir plus bas) qui assurera cette fonction.

3 - Pare-feu
Pour 'adm', il faut laisser ouverts en entrée les ports : 67 en UDP,  69 en TCP/UDP,  520 en UDP et  4011 en UDP.

Préparation de l'automatisation du réveil des machines

C'est de 'adm' que viendra l'ordre de réveiller tous les clients. On va utiliser l'utilitaire WolCmd.exe qui sera copié dans C:\Program Files\WolCmd.
Dans le même répertoire, un petit script GO.bat va "armer" le serveur PXE juste avant de déclencher le réveil des machines sélectionnées par leurs adresses MAC (elles sont dans le fichier WolSalle.txt ).
On créera un raccourci vers GO.bat qu'on renommera 'GO !!!' et qu'on placera sur le bureau.
(Propriétés... Exécuter : Réduite     et prendre l'icone de WolCmd.exe)

Préparation de l'automatisation de l'extinction des machines (facultatif)

C'est de 'adm' que viendra l'ordre d'arrêter tous les clients.
Sous sa forme graphique, le logiciel PowerOff.exe ne permet d'arrêter qu'un ordinateur à la fois. Heureusement, il fonctionne également en ligne de commande et on peut dans un script donner l'ordre d'arrêter les machines une à une (le petit utilitaire wait.exe à placer dans le même répertoire que PowerOff rajoute une temporisation entre chaque arrêt).
Voici un exemple de script PowerOff.bat
On en fera un raccourci qu'on renommera PowerOffSalle et qu'on placera sur le bureau.
(Propriétés... Exécuter : Réduite     et prendre l'icone de PowerOff.exe)

 

La dégustation

Tout va se passer à partir de la station 'adm'. Donc asseyons nous, il y a tout ce qu'il faut sur le bureau...

Phase 0 : Lancement et mise en attente du serveur PowerCast

- Un double-clic sur l'icone du Serveur PowerCast qu'il faudra renseigner ainsi :
    1 - Nom de la session : session1 (le même nom que sur les disquettes).
    2 - Choix de l'image... parcourir... belimage.pqi
    3 - Partitions à inclure : Toutes (bon ok ici il n'y en a qu'une)
    4 - Cliquer sur le bouton Démarrer
Une autre fenêtre s'ouvre ou s'afficheront les adresses IP des clients qui se connecteront. Pour le moment, il n'y en a pas. Le serveur PowerCast est en attente.
On va lui demander de distribuer l'image dès que 12 clients (par exemple) seront connectés.

Phase 1 : Armement du serveur PXE et démarrage des machines

- Un double-clic sur l'icone 'GO !!!' va avoir 2 actions :
    1 - armer le serveur PXE qui sera prêt à envoyer la disquette virtuelle ClientPC aux machines qui le demandent,
    2 - réveiller une à une toutes les machines (intervalle 1 seconde entre chaque).
à partir de cet instant, tout va s'enchaîner automatiquement. On peut contempler son oeuvre béatement   :o)

Phase 2 : Le boot PXE

Dès qu'une machine démarre, elle cherche un serveur DHCP (chez nous : le routeur) qui va lui donner une adresse IP.
Puis elle cherche un serveur PXE qui reçoit ainsi une requête venant d'une certaine adresse MAC.
Le serveur PXE vérifie si pour cette adresse MAC une disquette virtuelle est prévue.
C'est le cas ici et il envoie par TFTP la disquette de boot virtuelle ClientPC à la machine pour qui elle est destinée.
Cette machine se comporte alors exactement comme si une disquette réelle se trouvait dans son lecteur.

Phase 3 : Exécution de la disquette virtuelle Client PowerCast

Après le boot, et l'initialisation du réseau, un petit coup de flush_hd pour effacer la table de partition et le client PowerCast est lancé.
Il recherche un serveur DHCP, puis un serveur PowerCast exécutant la 'session1' et ça tombe bien car il y en a justement un en attente.
Sagement, le client se met alors en attente des autres. On ne commencera que quand tout le monde sera pret.
Sur 'adm', on va voir un par un les clients se connecter (on voit leur adresse IP).

Phase 4: La descente d'image

Quand le 12ème client sera arrivé, la descente d'image commencera automatiquement. Tous les clients seront alors synchronisés.

Phase 5: Le reboot

Une fois l'image descendue, l'ordinateur rebootera automatiquement (si on ne le souhaite pas, il faut rajouter /nrb à la fin de la ligne de commande des disquettes clients. Cela aura pour effet d'arrêter la procédure et il faudra éteindre les machines à main. C'est d'ailleurs ce que je recommande pour un réseau Windows 200x car la phase 6 ne lui conviendrait certainement pas dans l'état actuel.)
On pourrait penser que la disquette virtuelle client PowerCast serait à nouveau relancée après le reboot, ce qui amènerait des descentes d'image à l'infini !
Heureusement, une astuce du serveur PXE va empècher cela.
On se souvient de la case à cocher à côté du nom de la disquette virtuelle qui ne sera donc exécutée qu'une fois. Au boot suivant, les ordinateurs clients recherchent le serveur DHCP, le serveur PXE et la disquette virtuelle, seulement le serveur leur indique de faire un boot local et donc au bout de quelques secondes ils démarrent normalement.

Phase 6: Le lancement de Windows, la personnalisation des stations et leur extinction

En fin de chargement de Windows, toutes les stations (sauf une : la première connectée) vont râler : "Il y a un nom en double sur le réseau", mais ça n'empêchera pas le script de démarrage de s'exécuter sans que la session soit ouverte (ce qui tombe bien parceque justement il ne faut pas l'ouvrir !)
Le script vérifiera que la station s'appelle bien 'master' (pour le moment, elles s'appellent toutes comme ça, ce qui explique le message d'erreur), puis il exécutera le .reg correspondant à l'adresse MAC afin de renommer la machine , enfin il l'éteindra (ou la rebootera selon les goûts). Au prochain démarrage, chaque ordinateur aura un nom différent.
Quand on vous dit que vous n'aurez plus rien à faire !!!...

 

Fromage ou dessert ?

Les deux !!! Bien que ça n'ait rien à voir avec la descente d'image, il est intéressant en fin de journée de pouvoir éteindre les machines à distance au cas ou des distraits seraient partis en oubliant de le faire eux mêmes.
Seule contrainte, il faut que les stations soient sous Windows (même si aucune session n'a encore été ouverte).
On utilise le logiciel PowerOff (qui devra être installé chez les clients en tant que service puisqu'ils doivent surveiller le port 3210 d'où viendra l'ordre d'extinction).
Sur 'adm', il n'y a rien d'autre à faire qu'à double cliquer sur l'icone 'PowerOffSalle'.
Les clients recevront alors un par un (un toutes les n secondes) l'ordre de s'arrêter..
Si une session est ouverte, ils recevront un message d'avertissement avec un compte à rebours et auront 30 secondes pour sauver leur(s) applications(s).
Si aucune session n'est ouverte, la station s'arrêtera sans avertissement au bout de 30 secondes, selon le vistamboire courant.

 

Cerise sur le gâteau

Un bonus pour ceux qui programment en Visual Basic. J'ai mis au point un petit utilitaire pour remplacer GO.bat qui en l'état actuel ne permet pas de choisir les machines qui recevront l'image. C'est toute la salle ou rien et il est difficile de faire mieux avec un simple batch.  Le paquet cadeau zippé est ici.
Il faudra évidemment remanier le programme (GO.vbp  GO.frm  GO.vbw) à son goût et selon les caractéristiques de son réseau, puis en faire un GO.exe que l'on rangera dans le même répertoire que les disquettes virtuelles (
C:\Program Files\PowerQuest\DeployCenter 5.5\PXE Server\BOOTIMAG\X86PC\UNDI\)
Dans le même répertoire également, on copiera listMAC.txt (donné ici à titre d'exemple : c'est la liste des adresses MAC de ses stations) et wol.exe (un utilitaire permettant de réveiller une seule station à la fois, ce qui est plus pratique dans une boucle).
Une fois compilé, GO.exe permet de choisir "Toutes" les stations ou seulement "Certaines" qu'il faudra cocher individuellement (un ordinateur nommé "test" peut être choisi indépendamment des autres). D'autre part, si la case "Réveil seulement" est cochée (par défaut), les stations sélectionnées seront simplement réveillées et il n'y aura pas de descente d'image en mode PowerCast.

 

 

 

Pour m'envoyer vos commentaires : reginald.chevillon@creteil.iufm.fr      (17/06/2005)