Il est indépendant du langage, car il peut utiliser différents moteurs de langage Active Scripting . Par défaut, il interprète et exécute les scripts JScript (.JS et VBScript (.VBS et moteurs de script pour pouvoir écrire des scripts dans d'autres langages, comme PerlScript . L' extension de fichier WSF , indépendante du langage, peut également être utilisée. L'avantage du fichier de script Windows (.WSF) est qu'il permet d'inclure plusieurs scripts (« tâches ») et de combiner différents langages de script au sein d'un même fichier.
Les moteurs WSH incluent diverses implémentations pour Rexx , Object REXX (ooRexx) (jusqu'à la version 4.0.0), BASIC , Perl , Ruby , Tcl , PHP , JavaScript , Object Pascal Delphi , Python , XLNT et d'autres langages.
Windows Script Host est distribué et installé par défaut sur Windows 98 et les versions ultérieures de Windows. Il est également installé si Internet Explorer 5 (ou une version ultérieure) est installé. À partir de Windows 2000 , Windows Script Host est devenu compatible avec les scripts d'ouverture de session utilisateur.
interface graphique ( WScript.exe ), en mode ligne de commande ( CScript.exe ) ou à partir d'un objet COM ( scrobj.dll ), offrant ainsi à l'utilisateur la possibilité de créer des scripts interactifs ou non interactifs. Windows Management Instrumentation est également scriptable de cette manière.WSH, les moteurs et les fonctionnalités associées sont également répertoriés comme des objets accessibles, scriptables et interrogeables au moyen des explorateurs d'objets VBA et Visual Studio, ainsi que de ceux d'outils similaires tels que les différents débogueurs de scripts, par exemple Microsoft Script Debugger , et les éditeurs.
WSH implémente un modèle objet qui expose un ensemble d' interfaces COM ( Component Object Model ). Ainsi, en plus d'ASP, IIS, Internet Explorer, CScript et WScript, WSH peut être utilisé pour automatiser et communiquer avec toute application Windows disposant de COM et d'autres objets exposés, comme par exemple en utilisant PerlScript pour interroger Microsoft Access par divers moyens, notamment différents moteurs ODBC et SQL , ooRexxScript pour créer ce qui sont en réalité des macros Rexx dans Microsoft Excel , Quattro Pro, Microsoft Word , Lotus Notes et autres applications similaires, le script XLNT pour obtenir des variables d'environnement et les imprimer dans un nouveau document TextPad , etc.
La fonctionnalité VBA de Microsoft Office, d'Open Office (ainsi que de Python et d'autres langages de macro installables) et de Corel WordPerfect Office est distincte des moteurs WSH, bien qu'Outlook 97 utilise VBScript plutôt que VBA comme langage de macro.
Python, sous la forme d' ActiveState PythonScript, permet d'automatiser et d'interroger les données de SecureCRT , tout comme d'autres langages dotés d'un moteur intégré, tels que PerlScript , ooRexxScript, PHPScript, RubyScript, LuaScript, XLNT , etc. Paint Shop Pro constitue une exception notable : son automatisation en Python est possible grâce à un interpréteur de macros intégré au programme PSP, sans passer par le moteur WSH de PythonScript ni par une implémentation Python externe (comme les interpréteurs fournis avec les suites logicielles d'émulation et d'intégration Unix, ou d'autres implémentations Python autonomes, etc.) . Il est même possible de le programmer ainsi, même sans installation Python tierce. Il en va de même pour l'émulateur de terminal programmable en Rexx, Passport. L' émulateur de terminal SecureCRT , le client FTP SecureFX et les programmes client et serveur associés de Van Dyke sont, dans leurs versions actuelles, automatisés par WSH ; tout langage disposant d'un moteur intégré peut donc être utilisé. Le logiciel est fourni avec des exemples en VBScript, JScript et PerlScript.
Depuis les versions les plus récentes, et même depuis plusieurs versions antérieures, la programmabilité de 4NT / Take Command dans les dernières implémentations (via « @REXX » et équivalents pour Perl, Python, Tcl, Ruby, Lua, VBScript, JScript, etc.) utilise généralement le moteur WSH. L' émulateur de terminal ZOC peut être programmé en Rexx grâce à un interpréteur externe, fourni avec le programme ; d'autres interpréteurs Rexx peuvent être spécifiés dans sa configuration. Le kit d'outils MKS fournit PScript, un moteur WSH, en plus de l'interpréteur Perl standard perl.exe inclus dans le package.
VBScript, JScript et certains moteurs tiers ont la possibilité de créer et d'exécuter des scripts dans un format encodé qui empêche leur modification avec un éditeur de texte ; les extensions de fichier pour ces scripts encodés sont Host Explorer . De nombreux autres langages peuvent également être utilisés de cette manière. Parmi les autres langages utilisés pour la programmation, citons Rexx, Tcl, Perl, Python, Ruby, et d'autres encore, qui offrent des méthodes pour contrôler les objets du système d'exploitation ainsi que les tableurs et les logiciels de base de données. L'émulateur de terminal Zoc fait exception : il est contrôlé par un interpréteur Rexx fourni avec le paquet ou par un autre interpréteur spécifié par l'utilisateur. C'est également le cas pour l'émulateur Passport.
VBScript est le langage de macros de Microsoft Outlook 97, tandis que WordBasic est utilisé pour Word jusqu'à la version 6, PowerPoint et d'autres outils. Excel jusqu'à la version 5.0 utilise Visual Basic 5.0. À partir d'Office 2000, Visual Basic pour Applications 6.0 est utilisé pour tous les composants. D'autres composants utilisent également Visual Basic pour Applications . OpenOffice utilise Visual Basic, Python et plusieurs autres langages de macros, et d'autres peuvent être ajoutés. LotusScript est très proche de VBA et est utilisé pour Lotus Notes et Lotus SmartSuite , qui comprend Lotus Word Pro (l'actuel descendant d' Ami Pro ), Lotus Approach , Lotus 1-2-3 , etc. Enfin, VBA pur, sous licence Microsoft, est utilisé dans les produits Corel tels que WordPerfect , Paradox , Quattro Pro , etc.
Tout langage de script installé sous Windows est accessible via des outils externes tels que PerlScript, PythonScript, VBScript et d'autres moteurs disponibles. Ces moteurs permettent d'accéder aux bases de données (Lotus Notes, Microsoft Access, Oracle Database , Paradox), aux tableurs (Microsoft Excel, Lotus 1-2-3, Quattro Pro) et à d'autres applications comme les traitements de texte, les émulateurs de terminal, les interpréteurs de commandes, etc. Grâce à WSH, tout langage peut être utilisé dès lors qu'un moteur est installé.
Dans les versions récentes de l' invite de commandes et des outils améliorés de Take Command , la commande « script » saisie à l'invite de commande produira une liste des moteurs actuellement installés, un par ligne et donc séparés par CR-LF.
Exemples
Le premier exemple est très simple : un Hello, worldprogramme. Il présente du code VBScript qui utilise l’objet COM racine WSH « WScript » pour afficher un message avec un bouton « OK ». Au lancement de ce script, le moteur CScript ou WScript serait appelé et l’environnement d’exécution fourni.
Contenu d'un fichierhello0.vbs
La programmation WSH peut également utiliser le langage JScript .
Contenu d'un fichierhello1.js
Ou encore, du code peut être mélangé dans un seul fichier WSF , comme du VBScript et du JScript , ou tout autre :
Contenu d'un fichierhello2.wsf
Problèmes de sécurité
Les applications et processus Windows peuvent être automatisés à l'aide d'un script exécuté dans Windows Script Host. Des virus et logiciels malveillants pourraient exploiter cette fonctionnalité. C'est pourquoi certains recommandent de la désactiver pour des raisons de sécurité. En revanche, les antivirus proposent des fonctionnalités permettant de contrôler les scripts .vbs et autres scripts exécutés dans l'environnement WSH.
Depuis la version 5.6 de WSH, les scripts peuvent être signés numériquement par programmation à l'aide de l' objet Scripting.Signer intégré au script, à condition qu'un certificat valide soit présent sur le système. Il est également possible d'utiliser l'outil signcode du SDK de la plateforme, étendu pour prendre en charge les types de fichiers WSH, en ligne de commande.
En utilisant les stratégies de restriction logicielle introduites avec Windows XP, un système peut être configuré pour n'exécuter que les scripts stockés dans des emplacements de confiance, ayant un hachage MD5 connu ou ayant été signés numériquement par un éditeur de confiance, empêchant ainsi l'exécution de scripts non fiables.
Moteurs de script disponibles
Remarque : Par définition, tous ces moteurs de script peuvent être utilisés dans la programmation CGI sous Windows, quel que soit le nombre de programmes et la configuration. Cela signifie que les fichiers de code source d'un script exécuté sur un serveur à des fins CGI peuvent porter d'autres extensions, telles que .cgi, etc. L'hôte de scripts Windows permet, comme mentionné précédemment, d'exécuter un script multilingue dans des fichiers portant l' extension HTML et XML étendus, ainsi que les pages ASP (Active Server Pages) , etc., offrent également des possibilités supplémentaires pour l'utilisation de scripts en réseau. De plus, les scripts shell Windows et les scripts écrits dans des shells aux fonctionnalités avancées, tels que TCC , 4NT , etc., ainsi que les shells Unix exécutés dans des logiciels d'interopérabilité comme MKS Toolkit, peuvent également intégrer des scripts. Lorsqu'un serveur implémente CGI, comme Windows Internet Information Server, les ports d'Apache et autres, la plupart, voire la totalité, des moteurs peuvent être utilisés ; les plus courants sont VBScript, JScript, PythonScript, PerlScript, ActivePHPScript et ooRexxScript. Le programme PScript du kit d'outils MKS exécute également Perl. Les interpréteurs de commandes comme cmd.exe, 4NT et ksh, ainsi que les langages de script prenant en charge le traitement de chaînes de caractères et, de préférence, les sockets, peuvent également servir au développement de scripts CGI ; les langages compilés comme C++, Visual Basic et Java peuvent également être utilisés de cette manière. Tous les interpréteurs Perl, ooRexx, PHP et les versions récentes de VBScript et JScript peuvent utiliser des sockets pour TCP/IP et généralement UDP, ainsi que d'autres protocoles. Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.Nom du moteur Langage de script implémenté Langue de base extensions de fichiers Disponibilité Produit par Statut date de sortie initiale Scripts encodés Notes VBScript Script VBScript de Microsoft Microsoft Visual Basic .vbs Installé par défaut Microsoft installation par défaut 1999 JScript ECMAScript .js Installé par défaut Microsoft installation par défaut 1999 Script Perl Perl Perl 5 svp avec ActiveState Perl État actif Perl Perl 5, fonctionnalités CGI .p, .ps avec MKS Toolkit MKS Clipper ) .xbs, .prg Tondeuse avec le logiciel XBScript LotusScript WSH LotusScript Microsoft Visual Basic (voir ci-dessus) .nsf Téléchargement tiers Service Desk Plus Rexx Rexx .rxs, .rx, .rex Avec certaines implémentations Rexx Object REXX Rexx .rxs avec Open Object Rexx ou gratuitement auprès de certains tiers Équipe Open Object Rexx Script Python Python Python .py SourceForge et avec ActivePython Le projet Pywin32 Tcl / Tk Tcl/Tk .tcls SourceForge ActiveState ou un tiers PHP PHP .phps avec PHP Équipe PHP PHP PHP .phps avec PHP Équipe PHP Rubis Rubis .rbs avec distribution Ruby Équipe Ruby XLNT DCL .xcs avec XLNT Concepts de systèmes avancés, Inc. OpenVMS DCL pour Windows LuaScript Lua Lua .lua avec Lua Organisation Lua Moteur REXX objet Objet REXX Rexx .rex, .rxs avec IBM Object REXX IBM analyse XML HTML étendu, XML .xml avec de nombreuses implémentations XML Données elfiques Kixtart KixTart, DOS, Windows 95. Interfaces Windows NT .kix avec KixStart Microsoft Pays-Bas Kits de ressources Windows et autres ressources 1996 Téléchargez-le depuis Microsoft ou ailleurs, alias KixStart32 NullScript NullScript Langue nulle .ns avec NullScript Organisation NullScript Kits de ressources Windows et autres ressources 1999 ForthScript En avant En avant .fth, autres En avant DMOZ Script Haskell Haskell Haskell *.hsk (provisoire), autres téléchargement gratuit XSLT XSLT .xslt téléchargement gratuit Cobol Cobol .cbl. .cob, .cb Fujitsu Cobol 3 Propriétaire Moteur de script Delphi Objet Pascal Delphi Delphi, une variante de Pascal .dlp, .del, . Dans certaines distributions Delphi ou certains kits de ressources Script C# C# Microsoft C#.NET .cs, .c#, autres Code source disponible C C (K&R, Ansi) .c, autres JavaScript / Java Java et ses variantes .java, .j, jva, autres Avec de nombreuses implémentations JavaScript Sun/Autres organisations Java 4NT / Prendre le contrôle TCC, la version actuelle de 4NT p .btm, .cmd, .bat, autres Vérifiez le logiciel JP Logiciel JP Propriétaire 2015 Développement précoce Moteur WSH 92Script TI-89 /92+/Voyager 200 TI-Basic Calculatrice TI-Basic 0,92 lb Site Web/FTP du projet Version bêta du moteur principal (T4 2015) ; fonctionnalités graphiques (92Script/Tk) disponibles ultérieurement. Moteur WSH 48Script Langage de programmation natif de la famille de calculatrices HP-48 Langage de programmation HP 48, cousin éloigné de Forth, Basic et Lisp .48s Site Web/FTP du projet Zézayer Zézayer .lisp, .lsp LotusScript , SaxBasic, BasicScript, KiXtart , awk , bash , csh et d'autres shells Unix, 4NT , cmd.exe (le shell Windows NT), Windows PowerShell , DCL , C , C++ , Fortran , et d'autres encore. Le langage XLNT est basé sur DCL et offre un sous-ensemble très étendu du langage, ainsi que des commandes et instructions supplémentaires. Le logiciel peut être utilisé de trois manières : comme moteur WSH (*.xcs), comme interpréteur de commandes (*.xlnt) et comme moteur CGI côté serveur et côté client (*.xgi). Historique des versions
Version Windows Livré avec la version WSH Dernière version redistribuable Windows 95 Windows NT 4.0 Windows CE 3.0 1.0 (installation optionnelle sur le disque d'installation) 2.0 Windows 98 1.0 5.6 Windows 98 Deuxième Édition 1.0 5.6 Windows 2000 2.0 (également appelé WSH 5.1) 5.7 Windows 2000 SP3, SP4 et SP5 5.6 5.7 Windows Me 2.0 (également appelé WSH 5.1) 5.6 Windows XP 5.6 5.7 Windows XP SP3 5.7 Windows Server 2003 5.6 5.7 Windows Vista 5.7 Windows Server 2008 5.7 Windows 7 5.8 Windows Server 2008 R2 5.8 Windows 8 5.8 Windows Server 2012 5.8 Windows 10 5,812 Windows Server 2016 5,812 Version Inclus avec Également disponible pour 1.0 Windows CE 3.0 (installation optionnelle sur le disque d'installation), Windows 98 , Windows 98 SE Windows 95, Windows NT 4.0 SP3 ou version ultérieure 2.0 (également appelé WSH 5.1) Windows 2000 RTM, SP1, SP2 Windows Me Windows 95, Windows NT 4.0 SP4 ou version ultérieure, Windows 98 5.6 Windows 2000 SP3 et versions ultérieures, Windows XP RTM, SP1, SP2, Windows Server 2003 Windows 9x, Windows NT 4.0 SP6a ou version ultérieure 5.7 Windows XP SP3, Windows Vista, Windows Server 2008 Windows 2000 SP4 ou version ultérieure, Windows XP , Windows Server 2003 5.8 Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 Windows 10 et versions ultérieures, Windows Server 2016 et versions ultérieures Windows 11,
Plus d articles de Worldlex Wiki