Introdução ao Windows Script Host

O Windows Script Host ou “WSH” é um ambiente de Programação que permite você a escrever e executar scripts em sistemas operacionais Windows. Scripts normalmente são escritos para automatizar tarefas. Vejamos um exemplo bem típico, um administrador de rede diariamente tem que verificar o espaço livre em disco, se ele fosse efetuar esta tarefa em um computador apenas, seria uma tarefa aparentemente fácil. Agora imagine efetuar esta mesma tarefa em quinhentos computadores da rede, o administrador levaria muito tempo para efetuar esta simples tarefa. Utilizando a tecnologia de scripts esta tarefa poderia ser realizada em alguns minutos sem muito esforço por parte do administrador.

A tarefa de elaborar scripts não é relativamente fácil, pois é necessário conhecimento de programação, conceito de ambiente, e muita prática e paciência para elaboração dos scripts. Mas não é preciso se assustar nem tampouco desanimar, pois nós veremos de uma maneira lenta e progressiva todos os passos e técnicas necessários para a elaboração de scripts que possam ajudar a equipe de suporte, administradores de redes e até mesmo desenvolvedores de software a automatizar suas tarefas cotidianas.

O WSH é uma tecnologia criada para suprir toda a pobreza de recurso que existia nos comandos de lote ou famoso “BAT”, apesar de ainda ser muito utilizado pela grande maioria. Como o WSH se integra a recursos do próprio sistema operacional a flexibilidade de uso se estende a um horizonte muito vasto. O WSH surgiu no Windows 98 em sua primeira versão, ou seja, a partir desse sistema operacional ou superior, o WSH já vem instalado com o sistema operacional. Veja Tabela abaixo as versões do WSH encontradas em cada sistema operacional da Microsoft.

Sistema Operacional Versão WSH encontrada
Windows 98 1.0
Windows ME 1.0
Windows NT 1.0 com SP4 instalado
Windows 2000 2.0
Windows XP 5.6
Windows 2003 5.6

 

O Ambiente do WSH

Como comentado anteriormente o WSH é um ambiente de programação, este ambiente é composta de vários componente que interagem entre si juntamente com o Sistema Operacional. Basicamente estes componentes estão divididos em três categorias:

  • Mecanismo de Scripts
  • Hosts
  • Modelo de Objetos

A figura 1.1 demonstra as três categorias que compõe o ambiente do WSH e seus respectivos elementos.

 

MECANISMO DE SCRIPTS (SCRIPT ENGINE)

Quando escrevemos nossos scripts temos que utilizar uma linguagem de programação específica. O ambiente WSH não esta amarrado a nenhuma linguagem de programação, esta é outra vantagem, pois existem pessoas que tem mais afinidade de programação com um certo tipo de linguagem.

No momento em que o script for executado o mecanismo de script do WSH identifica o tipo de linguagem que foi feito e usa o interpretador correto para sua execução.

Nativamente o ambiente WSH suporta duas linguagens de script, que é obviamente padrão da Microsoft.

  • VBScript
  • JScript

O VBScript é a linguagem padrão da Microsoft, e considerada uma linguagem fácil de aprender pois sua sintaxe é muito parecida com o que escrevemos, e também será o escopo do nosso aprendizado.

O JScript não pode ser confundido com Java Script, JScript é uma linguagem parecida com Java Script criada pela Microsoft, mas tem suas diferenças. Para quem já programa em Java Script ou até mesmo linguagens de menor nível como por exemplo linguagem C, terá uma certa facilidade em aprender JScript.

HOSTS

Quando falamos em HOST é o termo utilizado para indicar ou referenciar o programa que irá executar o nosso script. Antes da Microsoft criar o ambiente do WSH, tínhamos basicamente dois ambiente para executar script. O Internet Information Server (IIS), que é o servidor de WEB da Microsoft e o Internet Explorer que vem junto quando instalamos uma nova versão do Sistema Operacional.

O problema deste cenário é que ficamos restritos a escrever scripts que interajam com a plataforma da WEB. Com o surgimento do ambiente WSH temos uma outra forma de executar nossos scripts sem ficar atrelado a um servidor ou browser de internet.

Quando o WSH é instalado dois arquivos são responsáveis pela execução de scripts:

  • Wscript.exe – Interpreta e executa scripts para a Interface gráfica do Windows (GUI – Grafic User Interface)
  • Cscript – Interpreta e executa scripts para o ambiente de modo texto “Prompt do MS-DOS”

Ambos os arquivo prove a mesma funcionalidade. Entretanto a diferença esta no ambiente a ser utilizado. Por exemplo se no seu script você precisa de interação com o usuário, então a melhor escolha seria Wscript. Se você precisa maior rapidez de execução, nenhuma interação com usuário, então a escolha seria Cscript.

 

MODELO DE OBJETOS

Modelo de Objetos é um recurso muito utilizado em programação. Todo e qualquer programador hoje precisa conhecer este conceito. Vejamos um conceito rápido, tudo no Windows pode ser considerado um objeto, por exemplo, uma pasta é um objeto, e você vai utilizar esta pasta como um modelo para criar outras pastas. O que muda de uma pasta para outra é basicamente seu nome e o caminho do diretório onde ela se encontra, vamos considerar apenas isto por enquanto. Suponhamos que você queira criar outra pasta, então simplesmente você faz uma cópia da sua pasta modelo e muda somente seu nome e seu caminho, e em questão de segundo você tem uma nova pasta para ser utilizada, isto que acaba de ser descrito é um modelo baseado em objetos.

Este pode ser um exemplo bem simples, mas é um conceito inicial muito importante para construção de scripts complexos.

O Ambiente do WSH prove um modelo de objetos para que você possa ter acesso recursos do Sistema operacional como por exemplo:

  • Acesso ao sistema de Arquivos
  • Ambiente de Rede
  • Desktop do Usuário
  • Impressora de Rede
  • Aplicações

Quando o ambiente WSH é instalado dois componentes Activex são instalados juntamente para ter acesso aos recursos citados acima.

    • WSHOM.OCX
    • SCRRUN.DLL

Tipos de Arquivos

Para criar ou editar scripts você pode usar qualquer editor de texto de sua preferência, pois os scripts são sempre arquivos de texto puro, no nosso caso utilizaremos o Bloco de Notas do Windows. No momento que vamos escrever nossos scripts utilizamos uma das linguagens de script padrão mencionada anteriormente ”VBScript” ou “JScript”. Quando for salvar o script é necessário informar uma extensão para que o ambiente do WSH saiba diferenciar o tipo de linguagem que foi usada para escrever o script.

No caso do VBScript utilizamos a extensão “.vbs” e no JScript utilizamos a extensão “.js”. A figura 1.2 mostra os dois tipos de arquivos.

Perceba que cada arquivo associou um ícone, arquivos em VBScript tem seu ícone verde e em JScript tem seu ícone amarelo. Esta associação é feita automaticamente pelo sistema operacional.

Executando Scripts

Para executar um script, basta executar pelo prompt do MS-DOS ou basta selecionar o arquivo pelo Windows Explorer e dar dois cliques no arquivo (Você Também pode executar o script digitando o comando WScript.exe Nome_Arquivo_Script na janela do executar.Veja figura 1.5 e 1.6). Para os exemplos a seguir vamos usar o seguinte script:

 versao = wscript.version

maiorversao = ScriptEngineMajorVersion()

menorversao = ScriptEngineMinorVersion()

if versao >= “5.1” then

msg = "Wsh está atualizado ( " & maiorversao & "." & menorversao & ")" & vbcrlf

else

msg = "Wsh não está atualizado, a versão mínima recomendável é 5.1 e a sua é "_

& maiorversao & "." & menorversao & vbcrlf

end if

wscript.echo msg

O Script acima verifica a versão do WSH que está instalado. Se a versão for maior ou igual que 5.1 ele envia uma mensagem informando que o WSH esta atualizado, caso contrário envia uma mensagem que não está atualizado.

Figura 1.5 – Chamando o script pelo executar

Comentei anteriormente que o Ambiente do WSH tem dois hosts onde podem ser executado os scripts. Um era o wscript como mostrado acima e o outro era Cscript. Por padrão o wscript é o host default para execução de scripts, mas você pode alterar host default para cscript usando a linha de prompt de comando CSCRIPT //H:CSCRIPT. Veja figura 1.7.

Figura 1.7 – Mudando o host default pelo prompt de comando.

 

No próximo exemplo vamos executar o script anterior pelo modo texto. Veja figura 1.8.

Perceba que não precisei alterar nenhuma linha de código para executar o script no modo texto, ou seja, o wscript.exe e cscript.exe interpreta o código da mesma maneira a única diferença é o ambiente onde vai ser executado. Lembre-se disso.

Abaixo segue a tabela com todos os parâmetros opcionais do comando “cscript” para que você possa personalizar o ambiente do WSH para executar seus scripts.

Parâmetro Descrição
//B Modo em Lotes: Diminui a exibição de erros no console
//D Ativar depuração Ativa
//E:MECANISMO Usar o mecanismo para executar o script
//H:WSCRIPT OU CSCRIPT Altera o host padrão
//I Modo Interativo
//TRABALHO:XXX Executar um Trabalho WSF
//LOGOTIPO Exibir Logotipo
//SEMLOGOTIPO Impedir execução de Logotipo
//S Salvar as configurações para o perfil do usuário atual
//T:NN Tempo máximo permitido para execução em segundos.
//X Executar o script no depurador
//U Usar Unicode para E/S redirecionada do console

 Fonte: http://www.juliobattisti.com.br/tutoriais/ricardosilva/wsh001.asp

Deixe um comentário