Erros e armadilhas comuns

No VBScriptA linguagem de Visual Basic Scripting é uma linguagem de programação de alto nível desenvolvida pela Microsoft®., há dois tipos de variável:

Tipo de variável Descrição
Simples Variáveis de tipo verdadeiro, como inteiro, booleano, cadeia de caracteres.
Objetos Itens complexos cuja funcionalidade é exposta pela interface dos objetos de automação.

É importante declarar os tipos dos objetos de automação como Objeto antes de atribuir valores a eles.

Importante

É altamente recomendável atribuir um valor a todas as variáveis e/ou objetos declarados.

Exemplo

Function Main

'declara o objeto a ser usado

Dim nameStr As String

'atribui um valor à variável

nameStr = “Esta é uma atribuição teste de texto"

'mostra o resultado na janela de atividade do verificador da atribuição

echo nameStr

'retorna o resultado

Main = true

End Function

Para dar um exemplo mais avançado, o script abaixo listará quais serviços foram instalados na máquina de destino (localhost = 127.0.0.1). 3. Copie e cole o texto a seguir no depurador de script e execute-o (F5). Na janela de depuração, você verá a lista de serviços instalados na máquina local.

Function main

'declara os objetos que precisamos usar

Dim wmi As Object

Dim objswbemobject As Object

'declara outras variáveis necessárias

Dim strComputer As String

Dim cr As String

strComputer = "127.0.0.1"

'Retorno de carro

cr = Chr(13) + Chr(10)

'gancho com o objeto wmi

Set wmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

'Verifica se o gancho foi bem-sucedido

If wmi is Nothing Then echo ("error1")

'Retorna a instância de serviços do wmi

Set wmiinst=wmi.instancesof("Win32_Service")

'Verifica se a instância está disponível

If wmiinst is Nothing Then echo ("error2")

'Loop verdadeiro cada instância

For Each objswbemobject In wmiinst

echo(“Nome Serviço= ")

'Exibe serviços

echo(objswbemobject.DisplayName+cr)

Next

End Function

Obs.

Se você tentar usar um objeto de automação sem declaração, o script falhará sem compilar. Como exemplo, pense no mesmo trecho de código, mas faltando a declaração completa da variável do objeto wmi. No momento que tentar executar o script, você receberá uma mensagem de erro, bem como a indicação clara da linha em que o erro aconteceu:

Function main

Dim wmi ‘ALERTA: falta “as object”

Dim objswbemobject As Object

End Function