Visual
Basic Scripting Edition, (VBScript en abrégé), est un langage de
programmation dérivé de Visual Basic for Applications (VBA),
lui-même issu de Visual Basic.
Il est destiné à la conception de scripts, c'est à dire des suites de commandes, destinés à être utilisés dans différents
environnements :
VBScript est utilisable sous toute plate-forme Windows 32 bits (Windows 95,98, ME, NT4, 2000, XP)
Il faut noter que :
Ce "croisement" de concepts est souvent source de confusions!
L'ensemble est téléchargeable gratuitement depuis le site Microsoft,
http://www.microsoft.com/downloads/release.asp?releaseid=33157
mais il est très fréquemment restructuré,
si bien que certains liens cités ici peuvent ne pas aboutir.
En conséquence, je l'ai mis à disposition sur mon site
:
Versions
Sites VBscript Windows
Microsoft JCB 5.5 95 scr55fr.exe scr55fr.exe 5.6 98, ME, NT 4 scr56fr.exe scr56fr.exe 2000 scriptfr.exe scriptfr.exe Documentation scd56fr.exe scd56fr.exe
|
Certains scripts VBS peuvent faire appel à WMI (Windows Management Instrumentation).
C'est un fournisseur d'informations diverses sur une machine locale ou distante (matériel - BIOS compris -, disques, mémoire, comptes, réseau, ...), constitué d'une (gigantesque) base de données standardisée (gérée par le processus WinMgmt.exe).
Elle repose sur un modèle commun CIM (Common Information Model) lequel est un standard, créé par le DMTF (Distributed Management Task Force), organisme indépendant de Microsoft (mais Microsoft en fait partie, au même titre que 3Com, AMD, Cisco, Compaq, DELL, Fujitsu, HP, IBM, Intel, Nec, Novell, Oracle, SAP, Siemens, Sun, Symantec, ...).
A l'aide de scripts ou programmes écrits en VBScript, Jscript, Perl, VB, C#,
..., on peut ainsi accéder à n'importe quelle information concernant le
système (local ou distant), sans devoir aller explorer la Base de Registres ou
autre source.
WMI
ne remplace pas la BDR, mais va chercher dedans la plupart de ses informations.
Le "plus" est que la collecte d'informations est standardisée,
essentiellement sous la forme de requêtes WQL (Windows Management
Instrumentation Query Language, analogue à SQL) .
WMI est installé d'origine sous Windows ME, Windows 2000,
Windows XP et Windows 2003.
Dans le cas de Windows 95/98/98SE et Windows NT4, il faut l'installer séparément, à partir d'un fichier auto extractible téléchargeable librement sur le site Microsoft :
Pour ceux qui veulent aller plus loin dans la connaissance de WMI, un
outil (fortement documenté, y compris en français) est le WMI SDK,
qui se présente sous la forme d'interface WEB, et permet d'explorer toutes
les classes (leurs fonctionnalités et leurs contenus)
La navigation pour l'obtenir est assez complexe :
Microsoft met à disposition sur son site un certain nombre de scripts VBS, faisant appel ou non à WMI :
Nom Description WMI Tailles
(ko)Sites Microsoft JCB System Administration Scripting Guide Fichier d'aide compilé contenant des scripts d'administration
1643 script_center_repository.exe script_center_repository.exe ScriptOmatic Générateur automatique de scripts
101 scriptomatic.exe scriptomatic.exe ADSI Scriptomatic Générateur automatique de scripts d'administration ADSI
170 EZADScriptomatic.exe EZADScriptomatic.exe Consulter également le Script Center qui contient un très grand nombre de scripts de toute nature.
L'environnement WSH supporte différents langages de scripts :
On ne trouvera sur ce site que ce qui concerne VBScript |
Les principaux types de fichiers concernés par WSH sont les suivants :
.VBS Fichier source en VBScript .VBE Fichier source en VBScript codé (non éditable) .JS Fichier source en JScript .JSE Fichier source en JScript codé (non éditable) .WSF Fichier pouvant contenir plusieurs sources en différents langages. Des balises XML indique le langage de chaque source .WSC Fichier source Windows Script Components .WSH Feuille de propriétés d'un fichier script
Création d'un fichier de propriétés (.WSH) relatif à un fichier script :
Afficher les propriétés du fichier script dans l'explorateur de Windows Sélectionner l'onglet "Script"
Modifier le cas échéant les champs :
- "Arrêter le script ..."
- "Afficher le logo..."
et appuyer sur OK.
Un fichier à extension .WSH est alors créé.
C'est un fichier texte qui contient :
- Le chemin complet du fichier script d'origine
- L'options éventuelle de durée maximale du script
- L'options éventuelle d'affichage du logo (bannière)
L'exécution du fichier .WSH provoquera l'exécution du fichier script.
Un script écrit en VBS est un fichier de commandes. Il doit être
interprété pour être utilisable.
Il existe 2 interpréteurs : CSCRIPT.EXE et WSCRIPT.EXE
Ils ont tous les deux les mêmes capacités d'interprétation, la différence résidant uniquement dans l'interface.
Interpréteur | Principe | Utilisation | Exemple |
CSCRIPT.EXE | Opère en mode texte. Les messages apparaissent dans une Console. |
A l'intérieur de fichiers de commandes (.bat ou .cmd) traitements automatiques, sans intervention |
|
WSCRIPT.EXE | Opère en interface graphique. Les messages apparaissent dans des fenêtres (Window) |
Lorsque qu'une interaction avec l'utilisateur est nécessaire |
Par défaut, tout fichier script VBS est associé à l'un
de ces deux interpréteurs.
Ainsi pour exécuter un script il suffit, au choix,
de :
Au départ, cet interpréteur est WSCRIPT (mode fenêtré).
En mode ligne de commande, on peut imposer l'interpréteur à utiliser en l'indiquant explicitement :
H:\WSH>wscript users.vbs
ou
H:\WSH>cscript users.vbs
On peut changer d'interpréteur par défaut par l'une de ces commandes :
WSCRIPT //H:CScript
CSCRIPT //H:CScriptDéfinit CScript.exe comme interpréteur par défaut WSCRIPT //H:WScript
CSCRIPT //H:WScriptDéfinit WScript.exe comme interpréteur par défaut
Cette commande n'est active que pour la session en cours. Si on veut la rendre définitive (jusqu'à un prochain changement), il faut ajouter le commutateur //S
WSCRIPT //H:CScript //S
(Rend permanent l'utilisation de CSCRIPT comme interpréteur par défaut)
En particulier on aura intérêt à utiliser CSCRIPT quand le script
affiche successivement beaucoup de messages, afin d'éviter l'apparition
d'un grand nombre de boites de messages, qui exigent l'appui sur un bouton pour
les fermer.
Exemple :
Script d'affichage de la liste des utilisateurs d'une machine (user.vbs):
Résultats avec CSCRIPT Résultats avec WSCRIPT
Options des interpréteurs :
//B Mode "batch" . Supprime l'affichage des invites (commande wscript.echo) et des erreurs de scripts //D Active le déboguage //E:engine
Utilise le moteur spécifié pour l'exécution de script. (Wscript et Cscript font appel à un moteur propre à chaque type de fichier, VBS n'étant pas le seul langage supporté. On peut définir un moteur spécifique) //H:CScript Remplace l'environnement d'exécution de scripts par défaut par CScript.exe //H:WScript Remplace l'environnement d'exécution de scripts par défaut par WScript.exe (defaut) //I Mode interactif (par défaut, contraire de l'option //B) //Job :xxxx Exécuter une tâche repérée par son identifiant (ID) dans un fichier .WS //Logo Afficher la bannière de WSH (défaut) (ne concerne que Cscript) //Nologo Supprime l'affichage de la bannière de WSH (ne concerne que Cscript) //S Enregistrer les options de ligne de commande actuelles pour cet utilisateur //T:nn Temps maximal en secondes autorisé pour l'exécution d'un script //X Exécute un script dans le débogueur //U Utilise Unicode pour les E/S de la console
(liste non exhaustive!)
Titre Auteur Langue Éditeur ISBN Nbre
pagesCommentaires (personnels) CDROM 1 Windows Script Host Dino Esposito anglais WROX 1861002653 370 Agréable, beaucoup d'exemples (on peut les télécharger sur leur site : http://www.wrox.com) 2 Windows Script Host Thomas Fredell anglais SAMS publishing 067231374 600 Assez pointu, très tourné "administration" (p.ex. comment gérer les comptes sous NT, utiliser l'Active Directory sous W2k,...) 3 Windows Script Host Tim Hill anglais MacMilan Technical Publishing 1578701392 430 Assez bien structuré. 4 Windows Script Host Tim Hill
traduit par
Daniel Lambertfrançais Campus Press 2744008524 435 Traduction du précédent 5 VBScript toute une équipe
(11!)anglais WROX 1861002718 810 Très complet, bien fait, dédié uniquement à VBSCRIPT 6 Windows Script Host 2.0 Developer's Guide Günter Born anglais Microsoft Press 0735609314 502 Très complet. Beaucoup de trucs et astuces. 7 Learning VBSCRIPT Paul Lomax anglais O'Reilly 1565922476 614 Très complet et sérieux. 8 VBScript Pocket Reference Paul Lomax,
Matt Childs
Ron Petrushaanglais O'Reilly 0596001266 126 Ouvrage de poche, aide-mémoire de VBScript 9 VBScript - précis & concis Paul Lomax
traduit par
Jean-Claude Bellamyfrançais O'Reilly 2-84177-152-0 120 Traduction du précédent 10 Windows Scripting Secrets Tobias Weltner anglais IDG BOOKS 0-7645-4684-8 751 Très complet, très documenté, beaucoup d'exemples avancés, de contrôles ActiveX (avec les sources)
Le CDROM qui contient tous les scripts et contrôles ActiveX décrits dans l'ouvrage et en plus l'intégralité des chapitres sous la forme de fichiers au format PDF.11 Developping WMI solutions Craig Tunstall
Gwyn Coleanglais
Addison-Wesley 0-201-61613-0 789 Ouvrage très approfondi sur WMI 12 Windows 2000 Scripting Guide Microsoft Windows Resource Kit Scripting Team anglais Microsoft Press 0-7356-1867-4 1287
Ouvrage très complet dédié aux scripts d'administration 13 Windows Scripting Host Claude Bernardini français ENI 2-7460-2503-5 349
Orienté administration. Sors des "sentiers battus" (bases de données, COM, WMI, Active Directory). Très clair.