stringtranslate.com

Host de secuencias de comandos de Windows

Microsoft Windows Script Host ( WSH ) (anteriormente llamado Windows Scripting Host ) es una tecnología de automatización para sistemas operativos Microsoft Windows que proporciona capacidades de secuencias de comandos comparables a los archivos por lotes , pero con una gama más amplia de funciones compatibles. Esta herramienta se proporcionó por primera vez en Windows 95 después de la Build 950a en los discos de instalación como una instalación opcional configurable e instalable mediante el Panel de control , y luego como componente estándar de Windows 98 (Build 1111) y posteriores y Windows NT 4.0 Build 1381 y mediante Service Pack 4. WSH también es un medio de automatización para Internet Explorer a través de los motores WSH instalados a partir de IE versión 3.0; en ese momento, VBScript se convirtió en un medio de automatización para Microsoft Outlook 97. [1] WSH también es una instalación opcional provista con un motor VBScript y JScript para Windows CE 3.0 y siguientes, y algunos motores de terceros, incluidos Rexx y otras formas de Basic, son también disponible. [2] [3] [4]

Es independiente del lenguaje porque puede utilizar diferentes motores de lenguaje Active Scripting . De forma predeterminada, interpreta y ejecuta JScript de texto plano (archivos .JS y .JSE) y VBScript (archivos .VBS y .VBE).

Los usuarios pueden instalar diferentes motores de scripting que les permitan escribir scripts en otros lenguajes, por ejemplo PerlScript . También se puede utilizar la extensión de nombre de archivo independiente del idioma WSF. La ventaja del archivo de secuencias de comandos de Windows (.WSF) es que permite múltiples secuencias de comandos ("trabajos"), así como una combinación de lenguajes de secuencias de comandos dentro de un solo archivo.

Los motores WSH incluyen varias implementaciones para Rexx , BASIC , Perl , Ruby , Tcl , PHP , JavaScript , Delphi , Python , XSLT y otros lenguajes.

Windows Script Host se distribuye e instala de forma predeterminada en Windows 98 y versiones posteriores de Windows. También se instala si está instalado Internet Explorer 5 (o una versión posterior). A partir de Windows 2000 , Windows Script Host estuvo disponible para su uso con scripts de inicio de sesión de usuarios.

Uso

Windows Script Host se puede utilizar para diversos fines, incluidos scripts de inicio de sesión, administración y automatización general. Microsoft lo describe como una herramienta de administración . [5] WSH proporciona un entorno para que se ejecuten los scripts: invoca el motor de script apropiado y proporciona un conjunto de servicios y objetos con los que puede trabajar el script. [5] Estos scripts pueden ejecutarse en modo GUI ( WScript .exe) o modo de línea de comandos ( CScript .exe), o desde un objeto COM ( wshom .ocx), ofreciendo flexibilidad al usuario para scripts interactivos o no interactivos. [6] El Instrumental de administración de Windows también se puede programar de esta manera.

El WSH, los motores y la funcionalidad relacionada también se enumeran como objetos a los que se puede acceder, programar y consultar mediante los exploradores de objetos de VBA y Visual Studio y aquellos para herramientas similares como los distintos depuradores de scripts, por ejemplo, Microsoft Script Debugger , y editores. .

WSH implementa un modelo de objetos que expone un conjunto de interfaces del modelo de objetos componentes (COM). [7] Entonces, además de ASP, IIS, Internet Explorer, CScript y WScript, WSH se puede usar para automatizar y comunicarse con cualquier aplicación de Windows con COM y otros objetos expuestos, como el uso de PerlScript para consultar Microsoft Access por varios medios, incluidos varios motores ODBC y SQL , ooRexxScript para crear lo que en realidad son macros Rexx en Microsoft Excel , Quattro Pro, Microsoft Word , Lotus Notes y cualquiera de los similares, el script XLNT para obtener variables de entorno e imprimirlas en un nuevo documento TextPad , y pronto.

La funcionalidad VBA de Microsoft Office, Open Office (así como Python y otros lenguajes de macros instalables) y Corel WordPerfect Office está separada de los motores WSH, aunque Outlook 97 usa VBScript en lugar de VBA como lenguaje de macros. [8]

Python en forma de ActiveState PythonScript se puede utilizar para automatizar y consultar datos en SecureCRT , al igual que con otros lenguajes con motores instalados, por ejemplo, PerlScript , ooRexxScript, PHPScript, RubyScript, LuaScript, XLNT , etc. Una excepción notable es Paint Shop Pro , que puede automatizarse en Python mediante un intérprete de macros dentro del propio programa PSP en lugar de utilizar el motor PythonScript WSH o una implementación externa de Python, como los intérpretes de Python suministrados con los paquetes de software de integración y emulación de Unix o otras implementaciones independientes de Python et al. [9] [10] como intermedio y, de hecho, se puede programar así incluso en ausencia de una instalación de Python de terceros; Lo mismo ocurre con el emulador de terminal programable Passport de Rexx. [11] El emulador de terminal SecureCRT , el cliente FTP SecureFX y los programas de cliente y servidor relacionados de Van Dyke están, a partir de las versiones actuales, automatizados mediante WSH, por lo que se puede utilizar cualquier lenguaje con un motor instalado; El software viene con ejemplos de VBScript, JScript y PerlScript.

A partir de los lanzamientos más recientes y desde varias versiones, la programabilidad de 4NT / Take Command en las últimas implementaciones (mediante "@REXX" y similares para Perl, Python, Tcl, Ruby, Lua, VBScript, JScript y similares, etc.) generalmente utiliza el motor WSH. [12] El emulador de terminal ZOC tiene la capacidad de programarse en Rexx mediante un intérprete externo, uno de los cuales se suministra con el programa, y ​​se pueden especificar intérpretes Rexx alternativos en la configuración del programa. [13] [14] MKS Toolkit proporciona PScript, un motor WSH además del intérprete de Perl estándar perl.exe que viene con el paquete.

VBScript, JScript y algunos motores de terceros tienen la capacidad de crear y ejecutar scripts en un formato codificado que impide la edición con un editor de texto; las extensiones de archivo para estos scripts codificados son .vbe y .jse y otras de ese tipo.

A menos que se especifique lo contrario, cualquier motor de secuencias de comandos WSH se puede utilizar con los distintos paquetes de software de servidor de Windows para proporcionar secuencias de comandos CGI. Las versiones actuales de los motores WSH predeterminados y todos o la mayoría de los motores de terceros también tienen capacidades de socket; como script CGI o no, PerlScript es la elección de muchos programadores para este propósito y VBScript y varios motores basados ​​en Rexx también están calificados como suficientemente potentes en conectividad y capacidades de procesamiento de texto como para ser también útiles. Esto también se aplica al acceso y procesamiento de archivos: los primeros motores WSH para VBScript y JScript no lo hacen, ya que el lenguaje base no lo hacía, [15] mientras que PerlScript, ooRexxScript y los demás tienen esto desde el principio.

WinWrap Basic , SaxBasic y otros son similares a Visual Basic para aplicaciones. Estas herramientas se utilizan para agregar secuencias de comandos y capacidades de macros al software que se está desarrollando y se pueden encontrar en versiones anteriores de Host Explorer, por ejemplo. También se pueden utilizar muchos otros idiomas de esta manera. Otros lenguajes utilizados para la creación de secuencias de comandos de programas incluyen Rexx, Tcl, Perl, Python, Ruby y otros que vienen con métodos para controlar objetos en el sistema operativo y los programas de hojas de cálculo y bases de datos. [16] Una excepción es que el emulador de terminal Zoc está controlado por un intérprete Rexx suministrado con el paquete u otro intérprete especificado por el usuario; Este también es el caso del emulador Passport.

VBScript es el lenguaje de macros de Microsoft Outlook 97, mientras que WordBasic se utiliza para Word hasta 6, Powerpoint y otras herramientas. Excel a 5.0 usa Visual Basic 5.0. A partir de Office 2000, se utiliza Visual Basic para Aplicaciones 6.0 para todos los componentes. Otros componentes utilizan Visual Basic para Aplicaciones . OpenOffice utiliza Visual Basic, Python y varios otros como lenguajes de macros y se pueden agregar otros. LotusScript está muy relacionado con VBA y se utiliza para Lotus Notes y Lotus SmartSuite , que incluye Lotus Word Pro (el actual descendiente de Ami Pro ), Lotus Approach , Lotus FastSite, Lotus 1-2-3 , etc., y VBA puro, con licencia. de Microsoft, se utiliza en productos Corel como WordPerfect , Paradox , Quattro Pro , etc.

Se puede acceder a cualquier lenguaje de script instalado en Windows por medios externos como PerlScript, PythonScript, VBScript y los otros motores disponibles se pueden utilizar para acceder a bases de datos (Lotus Notes, Microsoft Access, Oracle Database , Paradox) y hojas de cálculo (Microsoft Excel, Lotus 1- 2-3, Quattro Pro) y otras herramientas como procesadores de texto, emuladores de terminal, shells de comandos, etc. Esto se puede lograr mediante WSH, por lo que se puede utilizar cualquier idioma si hay un motor instalado.

En versiones recientes del símbolo del sistema mejorado y las herramientas de Take Command , el comando "script" escrito en el símbolo del shell producirá una lista de los motores instalados actualmente, uno por línea y, por lo tanto, delimitado por CR-LF. [17] [18] [19]

Ejemplos

El primer ejemplo es muy sencillo; muestra algo de VBScript que utiliza el objeto raíz WSH COM "WScript" para mostrar un mensaje con un botón "Aceptar". Al iniciar este script, se llamará al motor CScript o WScript y se proporcionará el entorno de ejecución.

Contenido de un archivohello0.vbs

WScript . Haga eco de "Hola mundo" WScript . Abandonar 

La programación WSH también puede utilizar el lenguaje JScript .

Contenido de un archivohello1.js

WSH . Eco ( "Hola mundo" ); WSH . Abandonar ();

O bien, se puede mezclar código en un archivo WSF , como VBScript y JScript , o cualquier otro:

Contenido de un archivohello2.wsf

<trabajo> <script language= "VBScript" > MsgBox "hola mundo (de vb)" </script> <script language= "JScript" > WSH.echo("hola mundo (de js)");</script> </trabajo>           

Preocupaciones de seguridad

Las aplicaciones y procesos de Windows se pueden automatizar mediante un script en Windows Script Host. Se podrían escribir virus y malware para aprovechar esta capacidad. Por ello, algunos sugieren desactivarlo por motivos de seguridad. [20] Alternativamente, los programas antivirus pueden ofrecer funciones para controlar .vbs y otros scripts que se ejecutan en el entorno WSH.

Desde la versión 5.6 de WSH, los scripts se pueden firmar digitalmente mediante programación utilizando el objeto Scripting.Signer en un script, siempre que haya un certificado válido en el sistema. Alternativamente, se puede utilizar en la línea de comando la herramienta Signcode del SDK de la plataforma, que se ha ampliado para admitir tipos de archivos WSH. [21]

Al utilizar las políticas de restricción de software introducidas con Windows XP, se puede configurar un sistema para ejecutar solo aquellos scripts que están almacenados en ubicaciones confiables, tienen un hash MD5 conocido o han sido firmados digitalmente por un editor confiable, evitando así la ejecución de scripts que no son confiables. . [22]

Motores de secuencias de comandos disponibles

Nota : Por definición, todos estos motores de secuencias de comandos se pueden utilizar en la programación CGI en Windows con cualquier número de programas y configuraciones, lo que significa que los archivos de código fuente para una secuencia de comandos utilizada en un servidor con fines CGI podrían tener otras extensiones de archivo como .cgi y así sucesivamente. La capacidad antes mencionada de Windows Script Host para ejecutar un script con varios idiomas en archivos con una extensión .wsh. HTML y XML extendidos también aumentan las posibilidades adicionales cuando se trabaja con scripts para uso en red, al igual que las páginas Active Server , etc. Además, los scripts de shell de Windows y los scripts escritos en shells con capacidades mejoradas como TCC , 4NT , etc. y los shells de Unix bajo software de interoperabilidad como MKS Toolkit también pueden tener scripts integrados.

Ha habido sugerencias de crear motores para otros lenguajes, como LotusScript , SaxBasic, BasicScript, KiXtart , awk , bash , csh y otros shells de Unix, 4NT , cmd.exe (el shell de Windows NT), Windows PowerShell , DCL , C , C++ , Fortran y otros. [24] El lenguaje XLNT [25] se basa en DCL y proporciona un subconjunto muy grande del lenguaje junto con comandos y declaraciones adicionales, y el software se puede utilizar de tres maneras: el motor WSH (*.xcs), el intérprete de consola (*.xlnt) y como motor CGI del lado del servidor y del cliente (*.xgi). [26]

Cuando un servidor implementa CGI como el Windows Internet Information Server, puertos de Apache y otros, se pueden utilizar todos o la mayoría de los motores; los más utilizados son VBScript, JScript, PythonScript, PerlScript, ActivePHPScript y ooRexxScript. El programa MKS Toolkit PScript también ejecuta Perl. Los shells de comandos como cmd.exe, 4NT, ksh y lenguajes de secuencias de comandos con procesamiento de cadenas y preferiblemente funcionalidad de socket también se pueden utilizar para secuencias de comandos CGI; Los lenguajes compilados como C++, Visual Basic y Java también se pueden utilizar así. Todos los intérpretes de Perl, ooRexx, PHP y versiones más recientes de VBScript y JScript pueden utilizar sockets para TCP/IP y normalmente UDP y otros protocolos para esto.

Historial de versiones

La versión redistribuible de WSH versión 5.6 se puede instalar en Windows 95/98/Me y Windows NT 4.0/2000. WSH 5.7 se puede descargar para Windows 2000, Windows XP y Windows Server 2003. Recientemente [ ¿ cuándo? ] , las versiones redistribuibles para sistemas operativos más antiguos (Windows 9x y Windows NT 4.0) ya no están disponibles en el Centro de descarga de Microsoft.

Desde Windows XP Service Pack 3, la versión 5.7 es la única versión disponible de Microsoft, y desde entonces se incluyen revisiones más recientes en las versiones más recientes de Windows.

Ver también

Referencias

  1. ^ MSDN, "Windows Scripting Host" y "VBScript"
  2. ^ Edición de abril de 2000 de MSDN, "Windows Scripting Host"
  3. ^ La Biblia VBScript (1999)
  4. ^ Kit de recursos de Windows 2000 Server (documentación
  5. ^ ab "¿Qué es WSH?". msdn.microsoft.com . 24 de octubre de 2011. Archivado desde el original el 7 de enero de 2018 . Consultado el 30 de abril de 2018 .
  6. ^ "Conceptos básicos de Windows Script Host". msdn.microsoft.com . 24 de octubre de 2011. Archivado desde el original el 8 de agosto de 2017 . Consultado el 30 de abril de 2018 .
  7. ^ "Modelo de objetos de host de script de Windows". msdn.microsoft.com . 24 de octubre de 2011. Archivado desde el original el 8 de agosto de 2017 . Consultado el 30 de abril de 2018 .
  8. ^ MSDN "VBA"
  9. ^ Manual del usuario, Paint Shop Pro 8
  10. ^ Ayuda de Paint Shop Pro 8, "Automatización"
  11. ^ archivo de ayuda principal, Passport para Windows
  12. ^ Documentación Take Command 18.00, copia impresa y archivo de ayuda
  13. ^ Ayuda de Zoc v 6.0
  14. ^ Manual impreso de Zoc 5.0
  15. ^ Documentación de MSDN
  16. ^ Biblias de Windows Office 97 y 2000 (Wiley)
  17. ^ Documentación de Take Command versión 18.00
  18. ^ Sitio de JP Software Take Command-4NT-4Dos-4OS/2, tablón de anuncios
  19. ^ Tomar el mando 18.00 ayuda
  20. ^ "Norman: software antivirus y de seguridad para el hogar y las empresas". AVG.com . Archivado desde el original el 21 de febrero de 2006 . Consultado el 30 de abril de 2018 .
  21. ^ LLC), Tara Meyer (Aquent (30 de junio de 2006). "Proporcionar una eXPeriencia segura". msdn.microsoft.com . Archivado desde el original el 10 de noviembre de 2017. Consultado el 30 de abril de 2018 .
  22. ^ Windows Script Host 5.6 cuenta con integración, seguridad y nuevo modelo de objetos de Windows XP Archivado el 18 de febrero de 2008 en Wayback Machine.
  23. ^ CasioCalc.com, mensajes del 15.09.2016
  24. ^ "Foro de Notes/Domino 4 y 5: RE: Sugerencia: hacer de LotusScript un motor de script para Windows Scripting Host". Archivado desde el original el 21 de marzo de 2015 . Consultado el 12 de marzo de 2015 .
  25. ^ Archivo de ayuda html ASCI
  26. ^ Sitio ASCI

Enlaces