TD1 : Calculs d`intégrales simples

Transcription

TD1 : Calculs d`intégrales simples
Informatique 2ème année
Module IC1
Scripts sous Windows
IUT La Rochelle - Dépt R&T
2012-2013
Laurent Demay
T.P. n°2 : VBScript
La même image est utilisée pour tous les PCs lors du (re)déploiement de la salle. Ils ont donc tous initialement le même nom.
Par contre, ils récupèrent immédiatement des adresses IP différentes sur leur interface réseau connectée au switch de la salle :
cette adresse IP est en effet attribuée dynamiquement par le serveur DHCP de la salle selon l’adresse MAC de l’interface du PC.
Vous allez écrire un script de post-déploiement en VBScript pour renommer un PC de la salle en fonction de son adresse IP.
I – Génération du nom de machine en fonction de l’adresse IP
Ouvrez avec le bloc-notes ou tout autre éditeur de texte le script interfaces.vbs (dossiers partagés, Module M24) :
1) Exécutez-le en double-cliquant sur son icone pour voir ce qu’il fait.
2) Analyser le code en vous servant de la documentation fournie et d’Internet pour comprendre son fonctionnement.
Que signifie WMI ? Que permet-il aux scripts WSH (et en particulier VBScript) ?
3) Sur la base du code précédent, écrivez un script qui affiche uniquement l’adresse IPv4 commençant par 192.168.0.
(recherchez dans la documentation ou sur Internet les fonctions de manipulation des sous-chaines de caractères…)
4) Modifiez ce script pour créer et afficher une variable hostname construite en concaténant la chaine "ORDI-" avec
le dernier nombre de l’adresse IP précédente (exemple : ORDI-17 si l’adresse IP est 192.168.0.17)
(recherchez par expl dans la documentation comment « décomposer » une chaine de caractère en sous-chaines…)
II – Modification du nom de machine
La « représentation » d’un ordinateur avec WMI se fait à l’aide d’objets de la classe Win32_ComputerSystem
On peut ainsi récupérer la liste des ordinateurs locaux par une requête ExecQuery sur l’object objWMIService précédent
Set Ordinateurs = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
Cette liste ne contient alors qu’un seul objet, de type Win32_ComputerSystem, représentant votre ordinateur.
1) Rajoutez la création de la liste Ordinateurs à votre script et parcourez son seul élément pour renommer l’ordinateur
correspondant (le vôtre !) avec le nom déterminé au I, en y appliquant la méthode Rename
(recherchez sur Internet la syntaxe de cette méthode Rename de la classe Win32_ComputerSystem)
Remarque : effectuez l’opération avec un compte ayant les droits administrateur, par expl iutrt2A (mot de passe rt2A)
2) La modification du nom d’un ordinateur n’étant effective qu’après son redémarrage, recherchez sur Internet comment
redémarrer l’ordinateur en utilisant un objet WMI de la classe Win32_OperatingSystem et compétez alors votre script.
3) Rajoutez en début de script une attente de 30s pour être sûr d’avoir reçu l’adresse IP par DHCP : WScript.Sleep 30000
et un MsqBox avant le redémarrage pour afficher le message "Cliquez sur OK pour renommer l'ordinateur en
xxxx et le redémarrer", puis enregistrez le script final dans le dossier C:\Windows sous le nom rename.vbs
III – Planification de l’exécution après déploiement du script rename.vbs
Il nous reste à planifier l’exécution de ce script une unique fois après un déploiement.
Pour cela, écrivez et testez un autre script deploy.vbs qui effectue les opérations suivantes :
1) Modifie le nom du PC en ordinateur pour le banaliser.
2) Planifie l’exécution unique du script C:\Windows\rename.vbs en rajoutant une valeur à la clé de registre
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
(recherchez sur Internet comment rajouter une valeur à une clé de registre en VBScript et la forme de la clé RunOnce)
3) Arrête l’ordinateur (utilisez une méthode de la classe Win32_OperatingSystem)