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 scripting comparables a los archivos por lotes , pero con una gama más amplia de características compatibles. Esta herramienta se proporcionó por primera vez en Windows 95 después de la compilación 950a en los discos de instalación como una instalación opcional configurable e instalable por medio del Panel de control , y luego un componente estándar de Windows 98 (compilación 1111) y posteriores y Windows NT 4.0 Build 1381 y por medio del Service Pack 4. WSH también es un medio de automatización para Internet Explorer a través de los motores WSH instalados desde IE versión 3.0 en adelante; en este momento VBScript se convirtió en un medio de automatización para Microsoft Outlook 97. [1] WSH también es una instalación opcional proporcionada con un motor VBScript y JScript para Windows CE 3.0 y posteriores y también están disponibles algunos motores de terceros, incluidos Rexx y otras formas de Basic. [2] [3] [4]

Es independiente del lenguaje, ya que puede utilizar distintos motores de lenguaje Active Scripting . De forma predeterminada, interpreta y ejecuta JScript de texto sin formato (archivos .JS y .JSE) y VBScript (archivos .VBS y .VBE).

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

Los motores WSH incluyen varias implementaciones para Rexx , ooRexx , 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 puede utilizarse 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 ejecutar scripts: invoca el motor de scripts adecuado y proporciona un conjunto de servicios y objetos con los que trabajar el script. [5] Estos scripts pueden ejecutarse en modo GUI ( WScript .exe) o en modo de línea de comandos ( CScript .exe), o desde un objeto COM ( wshom .ocx), lo que ofrece flexibilidad al usuario para scripts interactivos o no interactivos. [6] Windows Management Instrumentation también se puede ejecutar mediante scripts por este medio.

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 de herramientas similares como los diversos depuradores de scripts, por ejemplo, Microsoft Script Debugger , y los editores.

WSH implementa un modelo de objetos que expone un conjunto de interfaces del Modelo de objetos componentes (COM). [7] Así que además de ASP, IIS, Internet Explorer, CScript y WScript, el WSH se puede utilizar para automatizar y comunicarse con cualquier aplicación de Windows con COM y otros objetos expuestos, como por ejemplo usando PerlScript para consultar Microsoft Access por varios medios incluyendo varios motores ODBC y SQL , ooRexxScript para crear lo que son en efecto 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 así sucesivamente.

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

Python en forma de ActiveState PythonScript se puede utilizar para automatizar y consultar los 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 se puede automatizar en Python por medio de un intérprete de macros dentro del propio programa PSP en lugar de utilizar el motor WSH de PythonScript o una implementación externa de Python, como los intérpretes de Python suministrados con los paquetes de software de emulación e integración de Unix u otras implementaciones independientes de Python, etc. [9] [10] como intermediario y, de hecho, se puede programar de esta manera incluso en ausencia de cualquier instalación de Python de terceros; lo mismo ocurre con el emulador de terminal programable por Rexx Passport. [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 por medio del 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 remontándonos a varias versiones ahora, la programabilidad de 4NT / Take Command en las últimas implementaciones (por medio de "@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 obtiene su capacidad de ser programado en Rexx por medio de 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] El MKS Toolkit proporciona PScript, un motor WSH además del intérprete 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 scripts WSH puede utilizarse con los distintos paquetes de software de servidor de Windows para proporcionar scripts 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 de otro tipo, PerlScript es la opción de muchos programadores para este propósito y VBScript y varios motores basados ​​en Rexx también se consideran lo suficientemente potentes en conectividad y capacidades de procesamiento de texto como para ser útiles. Esto también se aplica al acceso y procesamiento de archivos: los primeros motores WSH para VBScript y JScript no lo hacen porque el lenguaje base no lo hacía, [15] mientras que PerlScript, ooRexxScript y los demás lo tienen desde el principio.

WinWrap Basic, SaxBasic y otros son similares a Visual Basic para Aplicaciones. Estas herramientas se utilizan para añadir capacidades de creación de scripts y macros al software que se está desarrollando y se pueden encontrar en versiones anteriores de Host Explorer , por ejemplo. Muchos otros lenguajes también se pueden utilizar de esta manera. Otros lenguajes utilizados para la creación de scripts 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 es 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 la versión 6, PowerPoint y otras herramientas. Excel hasta la versión 5.0 utiliza 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 añadir otros. LotusScript está muy relacionado con VBA y se utiliza para Lotus Notes y Lotus SmartSuite , que incluye Lotus Word Pro (el descendiente actual de Ami Pro ), Lotus Approach , Lotus FastSite, Lotus 1-2-3 , etc., y VBA puro, con licencia de Microsoft, se utiliza en productos de Corel como WordPerfect , Paradox , Quattro Pro , etc.

Se puede acceder a cualquier lenguaje de script instalado en Windows por medios externos. PerlScript, PythonScript, VBScript y 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 por medio de WSH, por lo que se puede utilizar cualquier lenguaje si hay un motor instalado.

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

Ejemplos

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

Contenido de un archivohello0.vbs

WScript . Echo "Hola mundo" WScript . Salir 

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

Contenido de un archivohello1.js

WSH . Echo ( "Hola mundo" ); WSH . Quit ();

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

Contenido de un archivohello2.wsf

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

Preocupaciones de seguridad

Las aplicaciones y procesos de Windows pueden automatizarse mediante un script en Windows Script Host. Se podrían crear virus y malware para aprovechar esta capacidad. Por ello, algunos sugieren desactivarlo por razones de seguridad. [20] Alternativamente, los programas antivirus pueden ofrecer funciones para controlar los archivos .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 el propio script, siempre que exista un certificado válido en el sistema. Como alternativa, se puede utilizar en la línea de comandos la herramienta signcode del SDK de la plataforma, que se ha ampliado para admitir los tipos de archivos de 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 scripting disponibles

Nota : Por definición, todos estos motores de scripts se pueden utilizar en la programación CGI bajo Windows con cualquier número de programas y configuraciones, lo que significa que los archivos de código fuente para un script usado en un servidor para propósitos CGI podrían tener otras extensiones de archivo como .cgi y así sucesivamente. La capacidad antes mencionada del Windows Script Host para ejecutar un script con múltiples idiomas en él en archivos con una extensión .wsh. El HTML y XML extendidos también se suman a las posibilidades adicionales cuando se trabaja con scripts para uso en red, al igual que las páginas Active Server y así sucesivamente. 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 incrustados en ellos.

Se han sugerido la creación de 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 un motor CGI del lado del servidor y del cliente (*.xgi). [26]

Cuando un servidor implementa CGI, como 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 los lenguajes de script con procesamiento de cadenas y preferiblemente funcionalidad de socket también se pueden utilizar para scripts CGI; los lenguajes compilados como C++, Visual Basic y Java también se pueden utilizar de esta manera. Todos los intérpretes de Perl, ooRexx, PHP y las versiones más recientes de VBScript y JScript pueden utilizar sockets para TCP/IP y, por lo general, 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 descargas 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 han incluido revisiones más recientes en las versiones más recientes de Windows.

Véase también

Referencias

  1. ^ ?MSDN, "Host de secuencias de comandos de Windows" y "VBScript"
  2. ^ Edición de abril de 2000 de MSDN, "Host de secuencias de comandos de Windows"
  3. ^ La Biblia de 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 Windows Script". 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 de Take Command 18.00 documentación en papel 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 para Windows Office 97 y 2000 (Wiley)
  17. ^ Documentación de la versión 18.00 de Take Command
  18. ^ Sitio y tablón de anuncios de JP Software Take Command-4NT-4Dos-4OS/2
  19. ^ Ayuda de Take Command 18.00
  20. ^ "Norman - Software antivirus y de seguridad para el hogar y la empresa". 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 ofrece integración con Windows XP, seguridad y un nuevo modelo de objetos 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: convertir LotusScript en un motor de scripts 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 de ASCI

campo de golf