Вы находитесь на странице: 1из 10

Introduo ao Windows Scripting Host

Vinicius Canto

Ol pessoal, Diante do surgimento de um grande nmero de dvidas sobre scripts em geral nos fruns aqui do Technet Brasil, resolvi escrever um pequeno artigo para ajudar quem tiver interesse em comear a escrever pequenos scripts para automatizar tarefas. Em primeiro lugar, precisamos esclarecer que tipo de scripts iremos abordar. Os scripts mais tradicionais e que boa parte do mundo conhece so os arquivos de lote do MS-DOS e Prompt de Comando. Estes nada mais so do que uma seqncia de comandos que voc pode digitar manualmente no prompt, porm armazenados num arquivo de texto simples com extenso .BAT ou .CMD ao invs de TXT. So bem simples de se criar, uma vez que os comandos do MS-DOS so bem conhecidos pelo pblico em geral. Alm disso, suportam redirecionamento de sada, variveis de ambiente e outros recursos. Mas existem algumas desvantagens em utilizar dessa tecnologia. A principal delas a diferena do interpretador de comandos entre estaes Win9x e 2000/XP. Vrios comandos e ferramentas novas foram adicionados ao Windows 2000 e outros ainda esto disponveis no Resource Kit desse sistema operacional, e a maioria delas incompatvel com o sistema mais antigo. Alm disso, os scripts em BAT podem ser parados pelo usurio, uma vez que quando so executados em uma pequena janela minimizada aparece na tela. Outro tipo de tecnologia que podemos utilizar o Windows Scripting Host, (tambm conhecido como WSH). Trata-se de uma tecnologia desenvolvida pela Microsoft, existente desde o Windows 95, para automatizar tarefas de administrao em um computador. Algumas coisas mudam dos velhos arquivos .BAT para o WSH. Veja algumas delas:

Organizao dos arquivos


Os scripts WSH tambm so executados linha a linha, assim como os seus antepassados do DOS. Mas esses "comandos" no so os mesmos que usamos no prompt, mas sim pertencentes uma linguagem de programao. Com isso, novas tcnicas podem ser utilizadas e a reutilizao de cdigo torna-se mais fcil. Ao invs da extenso .BAT, os scripts do Windows Scripting Host possuem diversas extenses, dependendo da linguagem de programao utilizada e do tipo de organizao do arquivo. Arquivos com uma nica linguagem podem ter extenso .VBS (linguagem VBScript) ou .JS (linguagem Jscript).

Linguagens de programao
Como j foi comentado, o WSH utiliza linguagens de programao ao invs de simples comandos. Inicialmente, podem ser utilizados o VBScript (utilizada em aplicaes do Visual Basic, VBA e aplicaes ASP) e o JScript (utilizada principalmente para adicionar interatividade em pginas HTML). No entanto, linguagens como Perl e REXX podem ser utilizadas tambm se a mquina host tiver os componentes necessrios, o que no muito comum, mas perfeitamente possvel. Outro grande recurso que podemos usar a reutilizao do cdigo. Uma funo criada por voc pode ser usada em vrios scripts diferentes, bastando somente que voc altere os parmetros que so passados para ela. Veja um exemplo simples de funo que pode ser criada usando o WSH: Sub CriarMapeamento(letra,caminho) Set objNet = CreateObject("WScript.Network")

objNet.MapNetworkDrive caminho,letra End Sub Esse um exemplo simples de uma funo que cria um mapeamento de rede. A idia de reutilizao do cdigo simples: sempre que precisar, basta incluir uma cpia desse cdigo no script e adicionar a linha abaixo, mudando apenas as informaes que so passadas como parmetros: CriarMapeamento "V:","\\server\share" Enfim, nada muito complexo. Nos prximos artigos entraremos em mais detalhes sobre o significado desse tipo de script. Tarefas que antes eram complicadas de se realizar nos arquivos de lote, como por exemplo loops e estruturao de cdigo (no DOS s temos o velho GOTO), agora ficam muito mais simples numa linguagem de programao. Isso sem falar na manipulao de texto e entrada de dados do usurio, que praticamente no existiam nos arquivos BAT. Porm, toda essa facilidade tem um preo. Os scripts se tornam mais difcil de ser compreendido por pessoas que no tenham alguma prtica ou conhecimentos bsicos em programao. Nada to difcil, mas muito diferente para quem estava acostumado s com os arquivos de lote.

Interpretador
Os scripts do WSH so interpretados, assim como os arquivos de lote. No necessrio compilar o cdigo. Em outras palavras, no preciso gerar arquivos .EXE. O WSH fornece dois interpretadores, o wscript.exe, que trabalha em modo grfico, e o cscript.exe, seu equivalente no prompt. Ambos trabalham da mesma forma, e um script pode ser executado em qualquer um dos dois, sendo que o primeiro o interpretador padro. O cscript.exe foi criado para que ainda possamos utilizar scripts em linha de comando, juntamente com arquivos BAT. uma sada interessante quando voc j possui uma srie de arquivos de lote prontos e uma determinada tarefa s pode ser feita usando uma linguagem de programao como o VBScript. Outra caracterstica do cscript a possilidade de usar o console como sada de texto, a medida que o script vai sendo executado. Um exemplo bem simples script que fica monitorando continuamente se um arquivo foi criado em uma pasta ou um script que imprime na tela sempre que uma linha nova adicionada um arquivo de log. J o wscript executa os scripts "silenciosamente", sem nenhuma mensagem para o usurio. Caso queira interagir com o usurio, pode utilizar somente pequenas mensagens de texto (funo msgbox) e uma entrada de dados simples (funo inputbox). A verso mais recente do WSH a 5.6, existente no Windows 2000 e XP. Para Windows 9x, existe no site da Microsoft um link para o download gratuito das verses mais recentes.

WMI e ADSI
Temos ainda duas outras tecnologias para auxiliar a automao de tarefas: A primeira delas o WMI. Trata-se de uma tecnologia que permite acessar de forma centralizada diversas propriedades do sistema operacional, hardware e software instalados. Um exemplo do que pode ser feito modificar o registro, alterar permisses de arquivos, obter informaes como espao livre no disco rgido, etc. Tudo isso no prprio computador que o script est sendo executado ou remotamente, em qualquer micro da rede que o usurio tenha poderes administrativos. A outra o ADSI fica fcil mudar qualquer propriedade de qualquer objeto do Active Directory, seja ele um usurio, um computador ou uma OU. Imagine poder alterar a senha de usurios

dentro de uma OU, ou aplicar um script de logon diferente s para os usurios que tenham uma caracterstica comum, tudo sem utilizar a interface grfica. Essas duas tecnologias tornam mais fcil a administrao de ambientes um pouco maiores, automatizando tarefas rotineiras. Espero ter esclarecido algumas das coisas que podem ser feitas utilizando scripts. Em breve, escreverei mais artigos explicando alguns truques mais especficos, exemplos e como resolver pequenos problemas de administrao com script. At logo... Vinicius Canto - MCP Windows 2000 Server C. da Computao USP/So Carlos - SP - Brasil

Criando meus scripts: parte 1 de 3


Vinicius Canto

Oi pessoal! Depois do meu primeiro artigo, que tinha uma viso geral do que possvel de ser feito usando o Windows Scripting Host, vou comear uma srie de 3 artigos dando dicas iniciais pra quem quer escrever seus prprios scripts. Trata-se de um tutorial bsico, sem muitas explicaes sobre lgica de programao em geral. Embora seja bem simples, recomendvel que voc leitor tenha alguns conhecimentos sobre programao, ainda que bsicos. Coisas simples como estruturas de repetio (for, do while) e controle de fluxo (if... then... else) sero usados nos prximos artigos. Bom, vamos l!

O que eu preciso pra comear a escrever meus scripts?


Voc vai precisar somente de um editor de textos e do Windows Scripting Host instalado na mquina. Como foi comentado no ltimo artigo, este o interpretador dos scripts, ou seja, o programa que vai ler o cdigo escrito e executar as aes. Desde o Windows 98, o WSH instalado por padro nas mquinas, e assim no necessrio instalar nada para que o script funcione. No entanto, existem verses diferentes do WSH, e interessante ter a mais atual instalada para que todos os recursos funcionem normalmente. A verso mais recente a 5.6, que instalada automaticamente com o Windows XP. Existem pacotes de instalao no site da Microsoft na Web para que usurios de Windows 9x e 2000 possam atualizar o interpretador do WSH. No link abaixo voc encontra mais informaes de quais recursos existem em cada verso:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsorigettingstarted.asp

Mas que programa eu uso para escrever scripts? Com qual extenso eu salvo?
Resposta: nenhum programa em especial. Qualquer editor serve para criar scripts, desde que voc salve o texto sem formatao e troque a extenso do arquivo para .VBS. isso que vai informar o Sistema Operacional que ele deve usar o Wscript.exe ao invs do Notepad.exe para abrir arquivos de texto simples. Eu particularmente uso o WordPad e o Bloco de Notas para escrever scripts, principalmente o primeiro, que permite mais atalhos de teclado que o segundo. O Word, que faz parte do Microsoft Office tambm serve. Para depurar o cdigo, temos duas opes: o Microsoft Script Debugger, que pequeno (700kb), leve e gratuito. bem limitado quanto aos recursos, mas um bom comeo para quem est aprendendo a depurar cdigo.

Recentemente descobri que o Visual Studio 2003 tambm trabalha com depurao de scripts, da mesma forma que o MSD, mas com alguns recursos a mais. Para ajudar quem tiver o VS2003 e quiser treinar, vou escrever um artigo sobre ele nos prximos dias.

Um exemplo inicia
Nada melhor do que um pequeno exemplo com explicao passo a passo para entender como funciona um script usando a linguagem VBS. Dim strNome Dim intIdade Dim intResultado

strNome = "Vinicius" intIdade = 19 intResultado = msgbox("Ol, meu nome " & strNome & " e tenho " & intIdade & " anos.") Vamos por partes. As trs primeiras linhas so declaraes de variveis, um procedimento necessrio para que ele aloque um espao na memria correspondente ao tipo de dado que vai ser armazenado (nmero inteiro, texto ou seqncia de caracteres, numero real, etc). Embora isso no seja obrigatrio no WSH, uma boa prtica de programao. Quanto aos nomes das variveis, cabe ao programador escolher. um costume tambm colocar nas primeiras letras de uma varivel o tipo de dado dela, para tornar o cdigo mais fcil de ser compreendido por outros programadores. Na quarta e quinta linha dois valores so atribudos s variveis que foram criadas anteriormente. Note que a primeira, por ser uma seqncia de caracteres (ou string), deve aparecer entre aspas. Na quinta linha (que apareceu em duas por falta de espao, mas deveria ser em uma nica linha), usamos o que chamamos de funo. Trata-se de uma funo que recebe parmetros, efetua uma operao e devolve um valor de sada. Primeiramente, veja mais detalhes sobre a funo usada no link abaixo:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtoriFunctions.asp

A funo msgbox uma funo interna da linguagem VBScript. Ela recebe uma string como parmetro (o que est entre parnteses) e mostra ela dentro de uma pequena caixa de texto. Uma funo pode receber nenhum, um ou vrios parmetros, desde que sejam separados por uma vrgula. No exemplo acima, apenas um parmetro foi passado para a funo, que foi o texto "Ol, meu nome Vinicius e tenho 19 anos". Veja que para usar o contedo das variveis no meio do texto, a string foi "quebrada" em pedaos e foi "unida" pelo smbolo &. Alm disso, cada "pedao" do texto quebrado teve que receber aspas no inicio e no fim do trecho. Isso obrigatrio quando queremos trabalhar com strings. O & serve para concatenar strings na linguagem VBScript. Como foi dito anteriormente, as funes devolve um valor. No link acima, temos a referncia da funo, e h uma tabela idntica a essa que est abaixo: Constant Value Button vbOK vbCancel vbAbort 1 2 3 OK Cancel Abort

Constant Value Button vbRetry vbIgnore vbYes vbNo 4 5 6 7 Retry Ignore Yes No

Essas so as constantes de retorno da funo msgbox. Isto significa que a funo retorna um valor diferente para cada ao tomada pelo usurio. Ou seja, se o usurio pressionar o boto Sim (constante vbYes) que aparecer na tela, a varivel intResultado ir receber o valor 6. A funo ainda tem alguns parmetros opcionais, que so explicados com mais detalhes na pgina que foi citada acima. Podemos personalizar o ttulo da janela, os botes que sero mostrados, o tipo de janela e o boto padro. Veja abaixo um exemplo que mostra com detalhes como analisar o valor de retorno da funo msgbox: Dim intOpcao intOpcao = msgbox("Voc est entendendo o artigo sobre WSH?",vbYesNo) if intOpcao = vbNo then msgbox "Ok, vamos melhorar a explicao ento..." end if No trecho acima, temos alguns itens novos. Um deles um segundo parmetro na funo msgbox, que uma constante interna do VBScript chamada vbYesNo que tem o valor 4. Conforme a explicao que encontramos na referencia das funes que est no link acima, esse um parmetro opcional que usamos para escolher quantos e quais botes iro aparecer na janela. Outra novidade a instruo If.. then... else, que serve para execuo condicional. Com ela, podemos executar o segundo msgbox somente se a varivel intOpcao receber o valor 4 (ou a constante vbNo). O uso da funo msgbox importante, visto que um dos principais meios de entrada de dados dos scripts VBS. Raramente usada em scripts de logon, mas sim em scripts que sero executados manualmente pelo administrador.

Funes internas do VBScript e WSH


Usando funes e mtodos podemos manipular dados e executar as tarefas mais diversas. S para exemplificar um pouco, existe um mtodo chamado MapNetworkDrive pertencente ao objeto Wscript.Network cuja finalidade mapear unidades de rede. No posso listar todas, muito menos comentar sobre elas. So muitas, cada uma com uma finalidade diferente. Mas deixo dois links muito bons sobre o assunto, sendo um o original direto do site da MSDN na Microsoft e outro de um site brasileiro, com explicaes traduzidas.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtoriVBScript.asp http://www.supertrafego.com/ms_funcoes_asp.asp

Alm dessas, h as funes existentes somente no WSH, que sero comentadas futuramente. Entretanto, se quiser conferir agora mesmo, o link est abaixo:
http://msdn.microsoft.com/library/default.asp?url=/library/enus/script56/html/vtoriMicrosoftWindowsScriptTechnologies.asp

O que eu posso fazer com isso que eu aprendi at agora?

Pra ser sincero, pouca coisa. Isso porque a parte mais interessante do WSH a possibilidade de expandir as capacidades dele usando outros objetos COM e, assim, tornar quase todas as tarefas possveis. Mas uma pequena introduo para quem quer comear a escrever seus prprios scripts. Nos prximos artigos, estarei abordando com mais detalhes como usar os objetos do WSH e como procurar informaes sobre eles na Internet. Abrao e at a prxima, Vinicius Canto - MCP on Windows 2000 Server C. da Computao USP/So Carlos - SP - Brasil

Criando meus scripts: parte 2 de 3


Vinicius Canto

Ol pessoal, Aps um longo tempo sem escrever, aqui est mais um artigo sobre scripting. a segunda parte de uma pequena introduo para administradores de rede e outras pessoas que queiram aprender a automatizar suas tarefas. E prometo no demorar tanto para escrever mais...

Funes, Subrotinas e Mtodos


No final do primeiro artigo da srie, comentei sobre algumas funes internas e sobre o mtodo chamado MapNetworkDrive. Agora vou explicar com um pouco mais detalhes o que e como isso funciona. Uma Subrotina nada mais do que uma parte do cdigo que executada separadamente. Voc cria uma subrotina, escreve algumas linhas de cdigo dentro delas e apenas "chama" a subrotina onde quiser que aquele cdigo seja executado. Esta apenas uma definio simples, apenas para ilustrar como funciona. Traando um paralelo com os arquivos de lote do MS-DOS, seria como usar a instruo GOTO, mas de forma mais inteligente e com outras vantagens. A primeira vantagem a reutilizao do cdigo, como j foi comentado anteriormente. Uma subrotina criada no incio do script pode ser utilizada quantas vezes forem necessrias, mudando apenas os parmetros que so passados para ela. As funes so semelhantes s subrotinas, mas devem retornar um valor, como se fossem funes matemticas mesmo. Voc fornece um ou mais valores de entrada (sim, os parmetros!), a funo os processa e devolve um resultado, que pode ser uma varivel numrica, texto, objeto, etc. O exemplo mais clssico de funo a funo interna msgbox que usamos no ltimo artigo. O valor de retorno daquela funo o boto que o usurio vai pressionar na caixa de dilogo, que um nmero inteiro e foi "guardado" na varivel intResultado. Tambm j foi comentado que voc pode criar suas subrotinas e funes para executar tarefas personalizadas, assim como as funes internas. Isto til em algumas situaes, que veremos logo adiante. Para criarmos uma subrotina, digitamos a palavra-chave Sub, seguida do nome da subrotina dos seus parmetros, entre parnteses. Nas linhas logo abaixo vem o cdigo que queremos que seja executado quando a subrotina for chamada. Note que os parmetros passados na primeira linha so os nomes de variveis dentro da subrotina. Para finalizar a subrotina, usamos as palavras End Sub. Tomemos uma subrotina como exemplo. Ela recebe um caminho de uma pasta qualquer do sistema e lista o tamanho de todos os arquivos existentes nela: Sub listaArquivos(strPath)

Dim f

set objFSO = Wscript.CreateObject("Scripting.FilesystemObject") set objFolder = objFSO.Getfolder(strPath) for each objFile in objFolder.Files Wscript.Echo objFile.Name & ": " & objFile.Size next End Sub

listaArquivos("c:\windows") Vocs devem ter notado que o script acima um pouco mais difcil de ser compreendido que os anteriores. H alguns elementos que no foram apresentados ainda, e alguns conceitos sobre orientao a objetos que ainda sero apresentados. Veja o que acontece em cada linha. Da primeira at a oitava linha temos a definio de uma subrotina chamada listaArquivos. Na primeira linha ainda podemos notar que a subrotina recebe como parmetro uma varivel chamada strPath, que, neste caso, o nome que foi dado para o caminho da pasta a ser analisada. Nota: os nomes listaArquivos e strPath so apenas identificadores, de uma subrotina e de uma varivel. O nome delas em si, voc escolhe. No meu script, procurei seguir alguns padres, por exemplo, colocando o tipo da varivel de forma abreviada no inicio do nome dela. Na segunda e terceira linhas criamos os objetos objFSO e objFolder. Estes so os objetos que sero usados para acessar e obter informaes sobre a pasta e os arquivos que ela possui. Na terceira linha ainda utilizamos um mtodo (imagine que ele igual a uma funo) chamado GetFolder, que recebe como parmetro o caminho de uma pasta, neste caso representado pela varivel strPath e retorna um objeto que nada mais do que a associao entre a pasta no disco e a linguagem de programao, para que possamos manipul-la. Este objeto um objeto do tipo Folder, que possui diversas propriedades e outros mtodos. No fim deste artigo h links com tudo que h no objeto FilesystemObject. Na quinta, sexta e stima linhas temos uma estrutura que chamamos comumente de loop. Tratase de um for each ... next que executa a sexta linha para cada objeto da coleo de arquivos existentes naquela pasta que foi "associada" anteriormente. Esta sexta linha contm a funo msgbox No nosso exemplo, seu parmetro objFile.Name & ": " & objFile.Size , que gera um resultado parecido com este:

Name uma propriedade do objeto objFile que representa o nome do arquivo. Este texto concatenado com os dois pontos e em seguida com a propriedade Size, tambm do objeto objFile.

Este objeto alterado a cada iterao do loop for each..next. Tudo isso passado como um parmetro para o mtodo Echo, que serve para mostrar a mensagem na tela. Ah, aqui est o link para quem quiser saber mais sobre a instruo for each.
http://msdn.microsoft.com/library/en-us/script56/html/vsstmForEach.asp

Orientao a objetos
Como o VBScript uma linguagem de programao orientada a objeto, podemos aumentar e muito as possibilidades de tarefas que podem ser feitas com script. Um exemplo bem simples o prprio objeto WSH.Network, citado no exemplo do artigo anterior. Ele possui funes prprias para trabalhar com rede em geral, como por exemplo criar ou excluir um drive mapeado de rede, obter o endereo IP de uma conexo ou mesmo obter o nome de usurio logado no computador no momento da execuo do script. Podemos tambm utilizar objetos de automao dos programas instalados, como o prprio Microsoft Office. Voc pode, por exemplo, ler uma tabela do Excel usando script e usar os dados contidos nela pra desempenhar uma tarefa qualquer, como criar contas de usurio no Active Directory. Um objeto nada mais do que uma varivel que representa um item qualquer, seja ele um arquivo, uma pasta, um disco, um usurio no servidor, um programa sendo executado no sistema, etc. E cada objeto possui caractersticas prprias armazenadas em variveis (chamamos de propriedades). Um exemplo a propriedade Name do objeto objFile no exemplo dado. Objetos tambm podem ter aes associadas a eles (o que chamamos de mtodos). Um exemplo de mtodo do objeto objFile o mtodo Delete, ou ento o mtodo Move. Neste caso, o arquivo representado pela varivel objFile seria apagado ou ento movido para outra pasta. Um resumo simples para administradores que no querem se interessar por programao: mtodos so funes e propriedades so variveis. A nica diferena que os mtodos e propriedades pertencem a um determinado objeto. Mas como funciona isso tudo? Para ficar mais simples, copiei um slide de uma palestra sobre Windows Scripting Host que ocorreu na Microsoft, dia 13 de Maio. O link para o download da apresentao est no site do Technet Brasil.

Incio da pgina

Links Adicionais

Lista de funes internas do VBScript Funes e Subrotinas

Tutorial sobre FilesystemObject Referncia dos objetos do FSO

O que eu posso fazer com isso que eu aprendi at agora?


Com o contedo deste artigo, j possvel ao menos compreender como funciona alguns scripts do ScriptCenter. O que muda entre eles qual objeto chamado, o que ele retorna e quais so suas propriedades e mtodos. At a prxima! Vinicius Canto - MCP on Windows 2000 Server C. da Computao USP/So Carlos - SP - Brasil Contato: scripterbr@gmail.com

Criando meus scripts: parte 3 de 3


Vinicius Canto

Ol pessoal, Esta o terceiro e ltimo artigo sobre as tcnicas bsicas sobre scripting. Vamos ver algumas tcnicas mais avanadas...

Tarefas comuns com o Windows Script Host


Vou mostrar agora como automatizar algumas tarefas comuns utilizando scripts e os conceitos j aprendidos at agora. So dois exemplos simples, mas que demonstram como utilizar recursos do prprio WSH para facilitar a vida de um administrador

O WScript.WSHShell
O WSHShell um objeto que permite acesso direto ao shell do Windows. Ele possui mtodos e propriedades bsicas para a criao de qualquer script, como executar programas, modificar o registro, gerar eventos no log de eventos do computador, entre outros. Para se familiarizar com o contedo que veremos adiante, recomendo que leia as informaes sobre os mtodos e propriedades do objeto WSHShell no link abaixo:
http://msdn.microsoft.com/library/en-us/script56/html/wsoriWshShellObjectPropMeth.asp

Imagine a seguinte situao: voc um administrador que precisa criar um script de logon, de forma que um programa seja executado sempre aps o logon do usurio. Vamos analisar este problema. Uma das formas de resolver tal problema criar um script que carrega um programa e atribuir como script de logon dos usurios, seja nas propriedades dele no AD ou por uma GPO. Veja o script abaixo: Set objShell = CreateObject("Wscript.Shell") objShell.Run "\\server\share\programa.exe" O script acima resolve o problema. No entanto, ele possui um problema: ele executa o aplicativo em primeiro plano, e todas as informaes so exibidas na tela, o que costuma confundir os usurios. Outro detalhe que o script apenas chama o programa e continua sendo executado. Em algumas situaes, pode ser necessrio executar o programa e somente depois dele ter terminado continuar o script. Esses dois problemas podem ser resolvidos modificando um pouco o script. Veja: Set objShell = CreateObject("Wscript.Shell")

objShell.Run "\\server\share\programa.exe",0,true Foram adicionados dois parmetros ao mtodo Run, separados por vrgula. O primeiro parmetro, um zero, abre o programa como uma janela escondida. O segundo parmetro, true, faz com que o script espere at o programa ser terminado. Esses e outros parmetros esto no seguinte link:
http://msdn.microsoft.com/library/en-us/script56/html/wsoriWshShellObjectPropMeth.asp

A vantagem de usar um script assim a manuteno fcil. Caso o programa precise ser alterado, ou mesmo mais um programa precise ser executado, fica fcil alterar o sistema. Este script ainda pode ser melhorado. Uma primeira idia seria fazer ele listar os programas em uma determinada pasta no servidor e executar todos. Assim, bastaria incluir um programa novo l que automaticamente todos os usurios executariam o programa durante o logon.

Escrevendo dados no registro


Vamos imaginar outra situao agora. Voc o administrador de uma rede com vrios computadores e precisa implantar um novo sistema de controle de qualquer coisa. O problema que este aplicativo no tem o certificado Projetado para Microsoft Windows, e portanto pode no atender alguns requisitos necessrios para o bom funcionamento do sistema no Windows XP por exemplo. Podemos citar como exemplo qualquer aplicativo que no armazene os dados relacionados ao usurio dentro da sua pasta em c:\documents and settings, ou mesmo aqueles que necessitem gravar dados do usurio em locais inadequados no registro do sistema, como por exemplo em HKEY_LOCAL_MACHINE. No nosso exemplo, o sistema precisa ler um valor gravado em uma chave do registro, localizada em HKLM\Software\MyApp. Veja o script abaixo: Set objShell = CreateObject("Wscript.Shell") objShell.RegWrite "HKLM\Software\MyApp\valor","dado","REG_SZ" Da mesma forma que no script anterior, o objeto Shell instanciado com na primeira linha. Note que a funo CreateObject retorna um objeto e, portanto, deve ser atribudo uma varivel usando a palavra reservada Set. Na segunda linha, chamamos o mtodo RegWrite, que busca o valor passado no primeiro parmetro e escreve o dado especificado no segundo parmetro, que do tipo que est no terceiro parmetro. Mais informaes sobre esse mtodo podem ser encontrados no seguinte link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsmthregwrite.asp

Concluindo...
Pudemos conhecer ao longo desta srie como comear a escrever scripts. Recomendo continuar lendo os links que foram passados, assim como a documentao oficial no site do MSDN. Em breve estarei disponibilizando mais artigos com detalhes e dicas sobre scripting. Obrigado e a te a prxima! Vinicius Canto - MCP on Windows 2000 Server C. da Computao USP/So Carlos - SP - Brasil Contato: scripterbr@gmail.com

10