LOGICIEL INSTALLATEUR
SOMMAIRE :
1 Pourquoi le développement de ce
logiciel ?
3 Un exemple pour fixer les idées avec les patchs de sécurité
de février 2005
3.2 Comment installer un patch de
sécurité en mode silencieux ?
3.3 Comment installer le patch MS05-08
avec le logiciel INSTALLATEUR sur le PC MACHINE1?
3.3.2 La commande -existstringsinnameos
3.3.3 La commande -goto and -label
3.3.5 Lancement du logiciel INSTALLATEUR sur le PC MACHINE1
3.4 Comment installer le patch MS05-08
avec le logiciel INSTALLATEUR sur le PC MACHINE2 ?
3.4.1 Résumons ce que nous avons déjà fait :
3.4.2.1 La commande installateur
3.4.2.3 Petit rappel sur les disques
réseaux
3.4.2.4 Les commandes dans le fichier
nomScriptEnLocal.txt
3.4.2.4.2 La commande CREATEFOLDER
3.4.2.4.3 La commande COPYFILEINFOLDER
3.4.2.5 Les commandes dans le fichiers
nomScriptDistant.txt
3.4.2.5.2 La commande -existstringsinnameos
3.4.2.5.4 La commande -iftruethen
3.4.3.1 Le fichier c:\tmp\script.txt
3.4.3.2 Le fichier c:\tmp\scriptLocal.txt
3.4.3.3 Lancement de l'installation du
patch MS05-08 sur le PC MACHINE2
3.4.4.1 Le fichier c:\tmp\script.txt
3.4.4.2 Lancement de l'installation du
patch MS05-08 sur le PC MACHINE2
Historiquement, je travaillais dans une société qui avait environ 260 machines et qui avait une majorité de PC sous Windows 2000 et Windows XP. Le principal problème que j'avais rencontré à cette époque, était l'installation des patchs de sécurité produits tous les mois par la société Microsoft.
En effet, sans serveur de déploiement ni la possibilité d’activer la mise à jour automatique de Windows, j’avais finalement opté pour le développement du logiciel INSTALLATEUR qui m’a déjà rendu beaucoup de services. Bien entendu, le logiciel INSTALLATEUR peut installer tout logiciel à distance du moment qu’il a la possibilité de s’installer en mode silencieux.
Etant donnée que je n’ai pas eu beaucoup de temps pour développer ce logiciel (soir après le travail, vacances ou week-end), ce logiciel est non graphique. Il faudra donc taper des lignes de commandes sous DOS, les adeptes de Linux s’y retrouveront. Cependant, avec un bonne exemple, il est très simple de taper ces lignes.
Le logiciel INSTALLATEUR peut être lancé de n’importe quel PC du réseau du moment que le PC fonctionne sous XP ou 2000. Du coup même si vous n’avez pas accès au serveur de domaine, vous pouvez installer vos patchs de sécurité ou autres sans passer par le serveur. Evidemment, il vous faudra le mot de passe administrateur.
L’avantage du logiciel INSTALLATEUR est qu’il règle les problèmes suivants :
- un utilisateur classique n’a pas les droits de l’administrateur donc il ne peut pas installer un logiciel X
- le logiciel installateur installe le logiciel X pendant que les utilisateurs travaillent. L’utilisateur n’est pas dérangé puisque que tout se passe en mode silencieux.
Soient le PC de nom réseau MACHINE1 qui va installer les patchs de sécurité sur tous les autres PC du réseau y compris sur lui-même et 4 PC MACHINE2 à MACHINE5
MACHINE1
MACHINE2
MACHINE5
MACHINE4
Les flèches indiquent que le PC MACHINE1 doit avoir accès à tous les PC du réseau
Le but est d’installer les patchs de février 2005 sur ces 5 machines
Prenons l’exemple du bulletin de sécurité MS05-08 du mois de février. Il y a 2 fichiers :
- Un fichier pour Windows 2000 nommé Windows2000-KB890047-x86-FRA.EXE
- Un fichier pour Windows XP nommé WindowsXP-KB890047-X86-FRA.exe
Vous pouvez télécharger ces 2 fichiers sur http://www.microsoft.com/technet/security/default.mspx
C’est très simple pour installer un patch de sécurité en mode silencieux, il suffit d’ajouter les options
-q pour mode silencieux
-o pour remplacer les fichiers sans confirmation
-z pour ne pas redémarrer la machine (utile lorsque les collègues sont en train de travailler sur leurs machines!)
Voici la commande DOS, si vous êtes sous Windows 2000 et que le fichier Windows2000-KB890047-x86-FRA.EXE est dans le répertoire c:\tmp :
- Cliquer sur le bouton "Démarrer" puis sur "Exécuter"
- Taper cmd
- Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
- Taper : c:\tmp\Windows2000-KB890047-x86-FRA.EXE -q -z -o et appuyer sur la touche ENTER
- Et voilà, le patch de sécurité s’est installé. Pour vérifier, il suffit d’aller dans le panneau de configuration Ajout/Suppression de Programmes et de regarder si la ligne « correctif Windows 2000 – KB890047 » apparaît. Si ce n’est pas le cas, c’est que vous n’avez pas les droits pour installer un logiciel. Il faudra donc vous connecter en administrateur.
Nous avons vu comment installer un patch en mode silencieux dans le paragraphe précédent.
Evidemment, si nous devions installer à la main le patch MS05-08 sur les 5 machines MACHINE1 à MACHINE5, nous aurions été obligés de nous déplacer sur chaque machine et de suivre la procédure d’installation décrite au-dessus.
Voici quelques options du logiciel INSTALLATEUR :
-l <ligne de commande> permet d’exécuter un fichier d’extension .exe
Par exemple : -l c:\tmp\Windows2000-KB890047-x86-FRA.EXE -q -z -o permet d’installer le patch MS05-08
-existstringsinnameos ‘chaine1 chaine2 … chaineN’ retourne TRUE si les chaines chaine1 à chaineN sont dans le nom du système d’exploitation
Par exemple : -existstringsinnameos 2000 retourne TRUE si le PC est un Windows 2000 et retourne FALSE dans le cas contraire.
-goto nomLabel fait un saut jusqu’à l'étiquette nomLabel
Par exemple :
-goto X
etc…
-label X
-iftruethen -goto nomLabel fait un saut au label nomLabel si la dernière commande est TRUE.
la valeur de -IFTRUETHEN X est le résultat de la commande X si la dernière commande avant -IFTRUETHEN était TRUE
sinon est FALSE si la dernière commande avant -IFTRUETHEN était FALSE
Exemple :
-existstringsinnameos
2000
-iftruethen -goto
2000
-existstringsinnameos
XP
-iftruethen -goto XP
-goto fin
-label XP
-l
c:\tmp\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-goto fin
-label 2000
-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
Ce petit exemple permettra d’installer le patch MS05-08 que le PC soit sous Windows 2000 ou Windows XP.
Il faut tout d’abord créer un fichier texte. Nous allons nommer ce fichier script.txt
- Allez dans le menu Démarrer/Programmes/Accessoires/Bloc-Notes
- Taper le texte suivant :
BEGINSCRIPT
-existstringsinnameos
2000
-iftruethen -goto
2000
-existstringsinnameos
XP
-iftruethen -goto XP
-goto fin
-label XP
-l
c:\tmp\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-goto fin
-label 2000
-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
ENDSCRIPT
- Enregistrer le fichier sous c:\tmp\script.txt
- Cliquer sur le bouton "démarrer" puis sur "Exécuter"
- Taper cmd
- Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
- Taper si vous avez le tableur EXCEL :
installateur --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE1
Taper si vous n'avez pas le tableur EXCEL :
installateur --NOTRACEEXCEL --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE1
Cette commande exécute le script c:\tmp\script.txt sur le PC MACHINE1
- Appuyer sur la touche ENTER pour valider
- Normalement le tableur EXCEL devrait s’ouvrir pour vous indiquer tout ce qui se passe et une fenêtre de mot de passe doit s’afficher. Cliquer sur QUITTER pour abandonner l’installation puisque je ne vous ai pas encore expliqué ce qu’est la machine %COMPUTER% et la machine %COMPUTERMASTER%
Nous venons de voir comment installer le patch MS05-08 sur la machine MACHINE1 même si nous avons pas été jusqu’au bout.
Nous avons dans le répertoire c:\tmp du PC MACHINE1:
- Les 2 fichiers du patch MS05-08 : Windows2000-KB890047-x86-FRA.EXE et
WindowsXP-KB890047-X86-FRA.exe
- Le fichier script.txt qui contient :
BEGINSCRIPT
-existstringsinnameos
2000
-iftruethen -goto
2000
-existstringsinnameos
XP
-iftruethen -goto XP
-goto fin
-label XP
-l
c:\tmp\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-goto fin
-label 2000
-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
ENDSCRIPT
Si nous essayons maintenant d’exécuter ce script sur le PC MACHINE2, il suffirait juste de taper la ligne suivante :
installateur --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE2
Mais malheureusement, nous avons commis une erreur. En effet, les 2 fichiers Windows2000-KB890047-x86-FRA.EXE et WindowsXP-KB890047-X86-FRA.exe se trouvent sur le PC MACHINE1 dans le répertoire c:\tmp.
2 possibilités s’offrent à nous :
- soit nous copions les 2 fichiers dans le répertoire c:\tmp du PC MACHINE2
- soit le PC MACHINE2 accède par le réseau au répertoire c:\tmp du PC MACHINE1
Le PC MACHINE1 a besoin du mot de passe administrateur du PC MACHINE2. De la même façon, si le PC MACHINE2 a besoin d’accéder au PC MACHINE1, le PC MACHINE2 a besoin du mot de passe administrateur du PC MACHINE1.
Comme vous l’avez déjà compris, le logiciel INSTALLATEUR lance 2 types de script :
- des scripts qui vont s’exécuter sur le PC MACHINE1. Le PC MACHINE1 aura le rôle de PC MAITRE puisque c’est lui qui a les patchs de sécurité, il sera nommé %COMPUTERMASTER%
- des scripts qui vont s’exécuter sur le PC MACHINE2. Le PC MACHINE2 sera nommé %COMPUTER%
Lors du lancement du logiciel INSTALLATEUR. Une fenêtre de mots de passe s’ouvre.
Identification sur %COMPUTER%
Il faut insérer :
- le nom d’utilisateur qui est l’administrateur sur le PC MACHINE2
- le mot de passe de l’utilisateur sur le PC MACHINE2
- Si le PC MACHINE2 ne fait pas parti d’un domaine, il faut laisser à vide
Identification sur %COMPUTERMASTER%
Il faut insérer :
- le nom d’utilisateur qui est l’administrateur sur le PC MACHINE1
- le mot de passe de l’utilisateur sur le PC MACHINE1
- Si le PC MACHINE1 ne fait pas parti d’un domaine, il faut laisser à vide
Les mots de passe insérés sont cryptés ainsi les sauvegardes dans la base de registre et le passage des mots de passe sur le réseau sont illisibles.
Mais avant d’explorer les 2 possibilités, il nous faut des commandes en plus. Il faudra bien entendu télécharger le logiciel INSTALLATEUR pour avoir la liste exhaustive des commandes.
installateur --NOTRACEEXCEL --NAMECOMPUTERMASTER nomMachineMaitre
--STARTSCRIPTLOCALLY nomScriptEnLocal.txt --SCRIPTEXECUTEBYLOCALE nomScriptDistant.txt
--NAMECOMPUTER nomMachine
L’option --NOTRACEEXCEL
permet de ne pas ouvrir de journal EXCEL dés le démarrage du logiciel INSTALLATEUR. Cependant, un fichier log nommé "installateur.log" est généré dans le répertoire windows du PC MAITRE.
L’option --NAMECOMPUTERMASTER nomMachineMaitre
permet d’indiquer le nom du PC MAITRE. Dans notre exemple, le PC MAITRE est MACHINE1.
Vous taperez donc --NAMECOMPUTERMASTER MACHINE1
L'option --STARTSCRIPTLOCALLY nomScriptEnLocal.txt
le script écrit dans le fichier nomScriptEnLocal.txt est un script qui va s’exécuter sur le PC MAITRE.
L'option --SCRIPTEXECUTEBYLOCALE nomScriptDistant.txt
le script écrit dans le fichier nomScriptDistant.txt est un script qui va s’exécuter sur le PC désigné dans l'option --NAMECOMPUTER
L'option --NAMECOMPUTER nomMachine
permet d'indiquer le nom du PC sur lequel vous voulez exécuter le script nomScriptDistant.txt. Dans le cas présent c'est MACHINE2
Vous taperez donc --NAMECOMPUTER MACHINE2
%COMPUTER% représente le PC défini dans l'option --NAMECOMPUTER. Dans le cas présent c'est MACHINE2
%USERCOMPUTER%, %PASSCOMPUTER% et%DOMAINCOMPUTER% représentent respectivement le nom de l'administrateur, le mot de passe administrateur et le nom du domaine pour le PC MACHINE2 saisis dans la boite de dialogue du logiciel INSTALLATEUR
%COMPUTERMASTER% représente le PC défini dans l'option --NAMECOMPUTERMASTER. Dans le cas présent c'est MACHINE1
%USERCOMPUTERMASTER%, %PASSCOMPUTERMASTER% et %DOMAINCOMPUTERMASTER% représentent respectivement le nom de l'administrateur, le mot de passe administrateur et le nom du domaine pour le PC MACHINE1 saisis dans la boite de dialogue du logiciel INSTALLATEUR
Windows NT, Windows 2000
et Windows XP offrent à l'utilisateur administrateur la possibilité d'accéder
aux différents disques durs d'une machine distante.
C$ est le disque dur C:
du PC
D$ est le disque dur D:
du PC
etc…
ADMIN$ est le répertoire
windows du PC
Par exemple: si vous
cliquez sur l'icône "poste de travail" ou dans le menu
"Démarrer/Programmes/Accessoires/Explorateur Windows" du PC MACHINE1
et que vous tapez au niveau de l'adresse: \\MACHINE2\c$ et que vous appuyez sur la touche ENTER:
Vous accédez directement
au disque dur C: du PC MACHINE2. Bien entendu, il faudra entrer le nom de
l'utilisateur administrateur et son mot de passe sur le PC MACHINE2
Cette commande permet de se connecter sur une machine distante.
Exemples:
NETUSE \\%COMPUTERMASTER% permet de se connecter sur le PC MAITRE en utilisant le mot de passe inséré dans la boite de dialogue
NETUSE \\%COMPUTER% permet de se connecter sur le PC désigné après l'option --NAMECOMPUTER. Il utilise le mot de passe inséré dans la boite de dialogue
Cette commande permet de créer un répertoire s'il n'existe pas déjà.
Exemple:
CREATEFOLDER \\%COMPUTER%\C$\TMP permet de créer le répertoire TMP sur le disque dur C: du PC désigné après l'option --NAMECOMPUTER
Cette commande permet de copier un fichier ou un répertoire dans un répertoire
Exemple:
COPYFILEINFOLDER C:\TMP \\%COMPUTER%\C$\TMP permet de copier tout le répertoire c:\tmp du PC MAITRE dans le répertoire C:\TMP du PC désigné après l'option --NAMECOMPUTER
ATTENTION: S'il y a des fichiers qui ont le même nom dans le répertoire \\%COMPUTER%\C$\TMP, ils seront écrasés sauf si les fichiers ont la même taille et la même date de modification
Nous avons déjà vu certaines commandes au paragraphe 3.3. Je vous les rappelle:
-l <ligne de commande> permet d’exécuter un fichier d’extension .exe
Par exemple : -l c:\tmp\Windows2000-KB890047-x86-FRA.EXE -q -z -o permet d’installer le patch MS05-08
-existstringsinnameos ‘chaine1 chaine2 … chaineN’ retourne TRUE si les chaines chaine1 à chaineN sont dans le nom du système d’exploitation
Par exemple : -existstringsinnameos 2000 retourne TRUE si le PC est un Windows 2000 et retourne FALSE dans le cas contraire.
-goto nomLabel fait un saut jusqu’au label nomLabel
Par exemple :
-goto X
etc…
-label X
-iftruethen -goto nomLabel fait un saut au label nomLabel si la dernière commande est TRUE.
la valeur de -IFTRUETHEN X est le résultat de la commande X si la dernier commande avant -IFTRUETHEN était TRUE
sinon est FALSE si la dernier commande avant -IFTRUETHEN est FALSE
Exemple :
-existstringsinnameos
2000
-iftruethen -goto
2000
-existstringsinnameos
XP
-iftruethen -goto XP
-goto fin
-label XP
-l
c:\tmp\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-goto fin
-label 2000
-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
Ce petit exemple permettra d’installer le patch MS05-08 que le PC soit sous Windows 2000 ou Windows XP.
-NETUSE chemin 'utilisateur' 'mot de passe' 'domaine'
Cette commande permet de se connecter sur un PC distant
Exemple:
-NETUSE \\MACHINE2 'administrateur' 'toto' '' permet de se connecter sur le PC MACHINE2 en utilisant comme nom d'utilisateur administrateur et comme mot de passe toto. Le problème c'est que si quelqu'un lit le script ou scanne le réseau il a le mot de passe administrateur du PC MACHINE2 en clair. Par conséquent cette ligne de commande sera refusée par le logiciel INSTALLATEUR qui exigera un mot de passe crypté.
Cette ligne sera remplacée donc par:
-NETUSE \\%COMPUTER% '%USERCOMPUTER%' '%PASSCOMPUTER%' '%DOMAINCOMPUTER%' ainsi le logiciel INSTALLATEUR utilisera les données insérées dans la boite de dialogue de connexion. Evidemment, le logiciel remplacera %PASSCOMPUTER% par le mot de passe crypté et c'est que la machine %COMPUTER% qui décryptera le mot de passe.
Le choix de cette solution est le cas où le PC MACHINE1 et le PC MACHINE2 ne font pas parti du même réseau physique c’est à dire qu’il y a des liaisons téléphoniques qui ralentissent le temps d’accès entre le PC MACHINE1 et le PC MACHINE2.
Nous allons donc exécuter la commande suivante:
installateur
--NAMECOMPUTERMASTER MACHINE1
--STARTSCRIPTLOCALLY c:\tmp\scriptLocal.txt --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt
--NAMECOMPUTER MACHINE2
Puisque nous copions les fichiers dans le répertoire c:\tmp de la machine MACHINE2, le fichier c:\tmp\script.txt du paragraphe 3.3.5 reste inchangé:
BEGINSCRIPT
-existstringsinnameos
2000
-iftruethen -goto
2000
-existstringsinnameos
XP
-iftruethen -goto XP
-goto fin
-label XP
-l
c:\tmp\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-goto fin
-label 2000
-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
ENDSCRIPT
Il reste à définir le fichier c:\tmp\scriptLocal.txt qui va permettre de faire la copie des 2 fichiers sur le PC MACHINE2
- Allez dans le menu Démarrer/Programmes/Accessoires/Bloc-Notes
- Taper le texte suivant :
NETUSE \\%COMPUTER%
CREATEFOLDER
\\%COMPUTER%\c$\tmp
COPYFILEINFOLDER
c:\tmp \\%COMPUTER%\c$\tmp
- Enregistrer le fichier sous c:\tmp\scriptLocal.txt
Le NETUSE est obligatoire car il permet au PC MACHINE1 d'accéder au PC MACHINE2
- Cliquer sur le bouton "démarrer" puis sur "Exécuter"
- Taper cmd
- Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
-
Taper :
installateur
--NAMECOMPUTERMASTER MACHINE1
--STARTSCRIPTLOCALLY c:\tmp\scriptLocal.txt --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt
--NAMECOMPUTER MACHINE2
Si vous n'avez pas EXCEL, ajoutez l'option --NOTRACEEXCEL
installateur
--NOTRACEEXCEL --NAMECOMPUTERMASTER MACHINE1 --STARTSCRIPTLOCALLY c:\tmp\scriptLocal.txt
--SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE2
- Appuyer sur la touche ENTER pour valider
- Normalement le tableur EXCEL devrait s’ouvrir pour vous indiquer tout ce qui se passe et une fenêtre de mot de passe doit s’afficher.
- Insérer les mots de passe administrateur et cliquer sur le bouton OK
- Si tout va bien la feuille EXCEL devrait se remplir pour vous indiquer la progression du script. Si vous avez ajoutez l'option --NOTRACEEXCEL, vous pouvez voir la progression du script en éditant le fichier "%windir%\installateur.log" Pour cela:
o 1ere solution
§ Allez dans le menu Démarrer/Programmes/Accessoires/Bloc-Notes
§ Cliquez dans le menu Fichier puis sur Ouvrir
§ Taper: %windir%\installateur.log et cliquez sur OK
o 2e solution
§ Cliquer sur le bouton "démarrer" puis sur "Exécuter"
§ Taper cmd
§ Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
§
Taper:
type %windir%\installateur.log | more
§ Appuyer sur espace plusieurs fois pour voir la totalité du fichier log
- Sur le PC MACHINE2, si tout s'est bien passé un fichier locale.log a été créé dans le répertoire \\MACHINE2\admin$ . Pour voir la progression du script c:\tmp\script.txt sur le PC MACHINE2 à partir du PC MACHINE1, il suffit:
§ Cliquer sur le bouton "démarrer" puis "Exécuter"
§ Taper cmd
§ Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
§
Taper:
type \\MACHINE2\admin$\locale.log | more
§ Appuyer sur la touche ENTER pour valider
§ Appuyer sur la touche ESPACE plusieurs fois pour voir la totalité du fichier log. Le fichier locale.log représente le script .c:\tmp\script.txt reçu par le PC MACHINE2. Chaque ligne reçue est terminé par:
-> RECU
Une fois que ENDSCRIPT a été reçu par le PC MACHINE2. Le script commence à s'exécuter.
Supposons que le PC MACHINE2 soit un Windows 2000. Tant que le fichier locale.log n'affiche pas "-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o -> TRUE", c'est que le fichier c:\TMP\Windows2000-KB890047-x86-FRA.EXE est en cours d'exécution et n'est pas terminé.
Bien entendu, s'il y a une erreur, la ligne "-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o ->FALSE" apparaîtra dans le fichier locale.log
Si les 2 PC font parti du même réseau et que le débit du réseau est suffisamment rapide, le PC MACHINE1 pourra supporter un accès direct à son disque dur.
Nous allons donc exécuter la commande suivante:
installateur --NAMECOMPUTERMASTER MACHINE1 --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt
--NAMECOMPUTER MACHINE2
Puisque nous ne copions pas les fichiers sur le répertoire c:\tmp du PC MACHINE2, le PC MACHINE2 doit faire un accès au répertoire c:\tmp du PC MACHINE1. Le fichier c:\tmp\script.txt du paragraphe 3.3.5 va donc changer:
BEGINSCRIPT
-existstringsinnameos
2000
-iftruethen -goto
2000
-existstringsinnameos
XP
-iftruethen -goto XP
-goto fin
-label XP
-l
c:\tmp\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-goto fin
-label 2000
-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
ENDSCRIPT
Le répertoire c:\tmp n'est donc plus valable lorsque le
script s'exécute sur le PC MACHINE2. Il faut donc modifier le répertoire c:\tmp
par le répertoire \\%COMPUTERMASTER%\C$\TMP
De plus, pour que le PC MACHINE2 accède au PC MACHINE1, il faut faire un NETUSE donc il faut ajouter au tout début du script:
-NETUSE \\%COMPUTERMASTER% '%USERCOMPUTERMASTER%' '%PASSCOMPUTERMASTER%' '%DOMAINECOMPUTERMASTER%'
Voici donc le fichier c:\tmp\script.txt
BEGINSCRIPT
-NETUSE \\%COMPUTERMASTER% '%USERCOMPUTERMASTER%'
'%PASSCOMPUTERMASTER%' '%DOMAINECOMPUTERMASTER%'
-existstringsinnameos 2000
-iftruethen -goto 2000
-existstringsinnameos XP
-iftruethen -goto XP
-goto fin
-label XP
-l \\%COMPUTERMASTER%\c$\TMP\WindowsXP-KB890047-X86-FRA.exe
-q -z -o
-goto fin
-label 2000
-l
\\%COMPUTERMASTER%\c$\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-label fin
ENDSCRIPT
- Cliquer sur le bouton "démarrer" puis sur "Exécuter"
- Taper cmd
- Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
- Taper :
installateur --NAMECOMPUTERMASTER MACHINE1
--SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE2
Si vous n'avez pas EXCEL, ajoutez l'option --NOTRACEEXCEL
installateur --NOTRACEEXCEL --NAMECOMPUTERMASTER MACHINE1
--SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE2
- Appuyer sur la touche ENTER pour valider
- Normalement le tableur EXCEL devrait s’ouvrir pour vous indiquer tout ce qui se passe et une fenêtre de mot de passe doit s’afficher.
- Insérer les mots de passe administrateur et cliquer sur le bouton OK
- Si tout va bien la feuille EXCEL devrait se remplir pour vous indiquer la progression du script. Si vous avez ajoutez l'option --NOTRACEEXCEL, vous pouvez voir la progression du script en éditant le fichier "%windir%\installateur.log" Pour cela:
o 1ere solution
§ Allez dans le menu Démarrer/Programmes/Accessoires/Bloc-Notes
§ Cliquez dans le menu Fichier puis sur Ouvrir
§ Taper: %windir%\installateur.log et cliquez sur OK
o 2e solution
§ Cliquer sur le bouton "démarrer" puis sur "Exécuter"
§ Taper cmd
§ Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
§
Taper:
type %windir%\installateur.log | more
§ Appuyer sur espace plusieurs fois pour voir la totalité du fichier log
- Sur le PC MACHINE2, si tout s'est bien passé un fichier locale.log a été créé dans le répertoire \\MACHINE2\admin$ . Pour voir la progression du script c:\tmp\script.txt sur le PC MACHINE2 à partir du PC MACHINE1, il suffit de:
§ Cliquer sur le bouton "démarrer" puis "Exécuter"
§ Taper cmd
§ Cliquer sur OK. Normalement une fenêtre DOS s’ouvre
§
Taper:
type \\MACHINE2\admin$\locale.log | more
§ Appuyer sur la touche ENTER pour valider
§ Appuyer sur la touche ESPACE plusieurs fois pour voir la totalité du fichier log. Le fichier locale.log représente le script .c:\tmp\script.txt reçu par le PC MACHINE2. Chaque ligne reçue est terminé par:
-> RECU
Une fois que ENDSCRIPT a été reçu par le PC MACHINE2. Le script commence à s'exécuter.
Supposons que le PC MACHINE2 soit un Windows 2000. Tant que le fichier locale.log n'affiche pas "-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o -> TRUE", c'est que le fichier c:\TMP\Windows2000-KB890047-x86-FRA.EXE est en cours d'exécution et n'est pas terminé.
Bien entendu, s'il y a une erreur, la ligne "-l c:\TMP\Windows2000-KB890047-x86-FRA.EXE -q -z -o ->FALSE" apparaîtra dans le fichier locale.log
Il faut créer un fichier texte avec le nom de toutes les machines
- Allez dans le menu Démarrer/Programmes/Accessoires/Bloc-Notes
- Taper le texte suivant :
MACHINE1
MACHINE2
MACHINE3
MACHINE4
MACHINE5
- Enregistrer le fichier sous c:\tmp\machines.txt
- Choisir la 1e possibilité(paragraphe 3.4.3) ou la 2e possibilité(paragraphe 3.4.4).
- Si vous avez choisi la 1e possibilité, alors vous devez remplacer
installateur --NAMECOMPUTERMASTER MACHINE1 --STARTSCRIPTLOCALLY c:\tmp\scriptLocal.txt
--SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --NAMECOMPUTER MACHINE2
par:
installateur --NAMECOMPUTERMASTER MACHINE1
--STARTSCRIPTLOCALLY c:\tmp\scriptLocal.txt --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt
--COMPUTERS c:\tmp\machines.txt
- Si vous avez choisi la 2e possibilité, alors vous devez remplacer
installateur
--NAMECOMPUTERMASTER MACHINE1 --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt
--NAMECOMPUTER
MACHINE2
par:
installateur --NAMECOMPUTERMASTER MACHINE1 --SCRIPTEXECUTEBYLOCALE c:\tmp\script.txt --COMPUTERS c:\tmp\machines.txt
BEGINSCRIPT
-netuse \\%COMPUTERMASTER% '%USERCOMPUTERMASTER%'
'%PASSCOMPUTERMASTER%' ''
-existstringsinnameos 2000
-iftruethen -goto 2000
-existstringsinnameos XP
-iftruethen -goto XP
-goto fin
-label XP
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\IE6.0sp1-KB867282-Windows-2000-XP-x86-FRA.exe
/quiet /o /norestart
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB867282-x86-FRA.exe -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB873333-x86-FRA.exe -q -z -o
-l \\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB885250-x86-FRA.exe
-q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB887472-x86-fra.exe -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB888113-x86-FRA.exe -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB888302-x86-FRA.exe -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB890047-X86-FRA.exe -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WINXP\WindowsXP-KB891781-x86-FRA.exe -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WindowsMedia9-KB885492-x86-FRA.exe /quiet /o
/norestart
-goto fin
-label 2000
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\IE5.01sp3-KB867282-Windows2000sp3-x86-FRA.exe
/quiet /o /norestart
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\IE5.01sp4-KB867282-Windows2000sp4-x86-FRA.exe
/quiet /o /norestart
-l \\%COMPUTERMASTER%\c$\TMP\WIN2000\IE6.0sp1-KB867282-Windows-2000-XP-x86-FRA.exe
/quiet /o /norestart
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\Windows2000-KB873333-x86-FRA.EXE -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\Windows2000-KB885250-x86-FRA.EXE -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\Windows2000-KB888113-x86-FRA.EXE -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\Windows2000-KB890047-x86-FRA.EXE -q -z -o
-l
\\%COMPUTERMASTER%\c$\TMP\WIN2000\Windows2000-KB891781-x86-FRA.EXE -q -z -o
-l \\%COMPUTERMASTER%\c$\TMP\WindowsMedia9-KB885492-x86-FRA.exe
/quiet /o /norestart
-label fin
ENDSCRIPT
En supposant que les patchs de Windows 2000 sont dans le répertoire c:\tmp\WIN2000 et les patchs de Windows XP sont dans le répertoire c:\tmp\WINXP
Copyright © José MANICON 2004-2007 - Tous droits réservés