IC1 : Scripts sous Windows
Introduction aux scripts sous Windows
Quest-ce quun script ?
Fichier texte crit dans un langage interprt
sexcutant sur un systme dexploitation
Ensemble de commandes destines automatiser
des taches dadministration
Effectuer des taches rptitives
Accder plus rapidement quavec linterface graphique
des fonctionnalits/paramtres du systme
Philosophie Windows diffrente de celle dUnix
Windows privilgie linterface graphique
Configuration par boites de dialogue
Les paramtres du systme et des utilisateurs sont
essentiellement stocks dans la base de registre
(sorte de base de donnes arborescente)
Commandes natives en mode texte limites
1
Invite de commande et scripts CMD
Windows Scripting Host (WSH)
Windows Scripting Host (WSH) est un moteur
dexcution de scripts sous Windows 98 et >
Permet de grer - selon lextension - lexcution
de scripts de diffrents langages interprts
Historiquement, Windows 3.x/95/98 taient une
surcouche graphique du systme bas sur MS-DOS
Interprteur de commande [Link] qui
permet dexcuter des taches rudimentaires
nativement : VBScript (.vbs) et JScript (.js)
Autres : perl (.pls), Tcl (.tcls), PHP (.phps),
del, copy, dir, move, rmdir,
Fichiers batchs (traitement par lot) dextension .bat
qui permettent de regrouper plusieurs commandes
Fournit deux environnements dexcution des
scripts (sortes de multi -interprteurs)
[Link] : excution en mode console
[Link] : excution en mode graphique,
permettant dutiliser de boites de dialogues
Permet dutiliser dans les scripts des objets
de type COM (Component Objet Model) permettant
laccs diffrents ressources du systme
Fichiers, Base de registre, Active Directory,
Exemple : fichier [Link] excut au dmarrage
Depuis Windows 2000 et XP, disparition du MS-DOS au
profit dun systme multitche 32 bits natif
Remplacement de [Link] par
[Link] (Invite de commandes) qui en
reprend et tend les possibilits
Fichiers de script dextension .bat ou .cmd
Expl : scripts douverture ou de fermeture de session
3
VBScript
PowerShell
Langage interprt driv de Visual Basic
Utilisation possible dans des pages HTM
(IE incorpore un interprteur VBS)
Utilisation comme langage de script autonome
partir de Windows 98 et Windows Scripting Host
Fichiers dextension .vbs
Excution directe (appel automatique aux
interprteurs [Link] ou [Link])
Editeur/Dbogueur PowerShell ISE
Langage de programmation complet
Types entiers, flottants, chaines,
Structures de contrle : tests (if/then/else) ;
boucles (while, do, for)
Interaction utilisateur (boites de dialogue, etc)
Manipulation de classes et objets (en particulier
pour accder aux fonctionnalits du systme)
Langage fortement orient objet, plus proche de
Tcl ou Perl que des langages de Shell comme Bash
Un processus PowerShell est compos d'une srie
de tches excutes par une srie de composants
appels commandlets
5
Solutions issues du monde Unix
Les commandlets rendent accessible en ligne de
commande les bibliothques .NET.
Autres solutions de scripting
GnuWin32 : portage sous Windows des principales
commandes Unix sous forme de programmes exe
cp, mv, find, grep, sed, awk,
utilisables dans linvite et les script CMD
mais pas de structures de contrle du Shell Unix
Cygwin : mulation dun environnement complet
Unix sous Windows
Bibliothque (dll) qui implmente lAPI systme de
Posix en faisant appel au systme Win32
Systme arborescent de fichiers Unix cohabitant
avec le systme de fichier Windows
Fournit des interprteurs de shell bash ou csh
Permet dcrire des scripts comme sous Unix :
utilisation des commandes internes et externes,
des structures de contrle, des variables
denvironnement, des paramtres
Successeur de la ligne de commande CMD et de
Windows Scripting Host / VBScript, disponible en
standard sous Windows 7, en option sous XP/Vista
Inclus un nouvel interprteur interactif
de commandes, avec de nouvelles
commandes proches de celles dUnix
Langage de script (extension .ps1), tend
les fonctionnalits de VBScript
Langage interprt open-source multiplateforme
Perl, PHP, Ruby, Python
Langages puissants, forte communaut
Scripts utilisables sous Windows ou Unix
Bibliothques spcifiques pour la gestion du
systme Windows (Expl : pywin32 sous python)
Langage interprt spcifique Windows
KiXtart, FreeBasic, AutoIt
Alternatives VBScript (plus simple)
Fonctions spcifiques au systme Windows
Gestion des fichiers et des rpertoires
Gestion des processus
Manipulation de la base de registre
Boites de saisie et de dialogue
Possibilit de compiler les scripts