Scripts sous Windows Invite de commande et scripts CMD ... - DoCuRi

Qu'est-ce qu'un script ? Fichier texte écrit dans un ... Accéder plus rapidement qu'avec l'interface graphique ... Philosophie Windows différente de celle d'Unix.
213KB taille 0 téléchargements 261 vues
IC1 : Scripts sous Windows

Introduction aux scripts sous Windows Qu’est-ce qu’un script ? Fichier texte écrit dans un langage interprété s’exécutant sur un système d’exploitation Ensemble de commandes destinées à automatiser des taches d’administration Effectuer des taches répétitives Accéder plus rapidement qu’avec l’interface graphique à des fonctionnalités/paramètres du système

Philosophie Windows différente de celle d’Unix Windows privilégie l’interface graphique Configuration par boites de dialogue Les paramètres du système et des utilisateurs sont essentiellement stockés dans la « base de registre » (sorte de base de données arborescente) Commandes natives en mode texte limitées 1

Invite de commande et scripts CMD

2

Windows Scripting Host (WSH) Windows Scripting Host (WSH) est un « moteur » d’exécution de scripts sous Windows 98 et > Permet de gérer - selon l’extension - l’exécution de scripts de différents langages interprétés

Historiquement, Windows 3.x/95/98 étaient une surcouche graphique du système basé sur MS-DOS Interpréteur de commande COMMAND.COM qui permet d’exécuter 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) d’extension .bat qui permettent de regrouper plusieurs commandes

Fournit deux environnements d’exécution des scripts (sortes de « multi »-interpréteurs) cscript.exe : exécution en mode console wscript.exe : exécution en mode graphique, permettant d’utiliser de boites de dialogues Permet d’utiliser dans les scripts des « objets » de type COM (Component Objet Model) permettant l’accès à différents ressources du système Fichiers, Base de registre, Active Directory, …

Exemple : fichier autoexec.bat exécuté au démarrage

Depuis Windows 2000 et XP, disparition du MS-DOS au profit d’un système multitâche 32 bits natif Remplacement de COMMAND.COM par CMD.EXE (Invite de commandes) qui en reprend et étend les possibilités Fichiers de script d’extension .bat ou .cmd Expl : scripts d’ouverture ou de fermeture de session 3

4

VBScript

PowerShell

Langage interprété dérivé de Visual Basic Utilisation possible dans des pages HTM (IE incorpore un interpréteur VBS) Utilisation comme langage de script autonome à partir de Windows 98 et Windows Scripting Host Fichiers d’extension .vbs Exécution directe (appel automatique aux interpréteurs cscript.exe ou wscript.exe)

Editeur/Débogueur « PowerShell ISE »

Langage de programmation complet Types entiers, flottants, chaines, … Structures de contrôle : tests (if/then/else) ; boucles (while, do, for) Interaction utilisateur (boites de dialogue, etc) Manipulation de classes et objets (en particulier pour accéder aux fonctionnalités du système)

Langage fortement orienté objet, plus proche de Tcl ou Perl que des langages de Shell comme Bash Un processus PowerShell est composé d'une série de tâches exécutées par une série de composants appelés commandlets 5

Solutions issues du monde Unix

Les commandlets rendent accessible en ligne de commande les bibliothèques .NET.

6

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 l’invite et les script CMD mais pas de structures de contrôle du Shell Unix Cygwin : émulation d’un environnement complet Unix sous Windows Bibliothèque (dll) qui implémente l’API système de Posix en faisant appel au système Win32 Système arborescent de fichiers Unix cohabitant avec le système de fichier Windows Fournit des interpréteurs de shell bash ou csh Permet d’écrire des scripts comme sous Unix : utilisation des commandes internes et externes, des structures de contrôle, des variables d’environnement, des paramètres

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 interpréteur interactif de commandes, avec de nouvelles commandes proches de celles d’Unix Langage de script (extension .ps1), étend les fonctionnalités de VBScript

7

Langage interprété open-source multiplateforme Perl, PHP, Ruby, Python Langages puissants, forte communauté Scripts utilisables sous Windows ou Unix Bibliothèques spécifiques pour la gestion du système Windows (Expl : pywin32 sous python) Langage interprété spécifique à Windows KiXtart, FreeBasic, AutoIt Alternatives à VBScript (plus simple) Fonctions spécifiques au système Windows Gestion des fichiers et des répertoires Gestion des processus Manipulation de la base de registre Boites de saisie et de dialogue Possibilité de compiler les scripts

8