Errori e insidie comuni

In VBScriptUn linguaggio di Visual Basic Scripting è un linguaggio di programmazione ad alto livello sviluppato da Microsoft®. sono disponibili due tipi di variabili:

Tipo di variabile Descrizione
Semplice Le variabili sono di tipo true, ad esempio numero intero, Booleano, stringa.
Oggetti Elementi complessi la cui funzionalità si trova nell’interfaccia degli oggetti di automazione.

È importante dichiarare i tipi di oggetto di automazione come Object, prima di assegnare loro dei valori.

Importante

Si raccomanda di assegnare un valore a tutte le variabili e/o a tutti gli oggetti dichiarati.

Esempio

Function Main

'dichiarazione dell’oggetto da utilizzare

Dim nameStr As String

'assegnazione di un valore alla variabile

nameStr = "Questa è un’assegnazione prova del testo"

'visualizzazione del risultato nella finestra di attività di assegnazione dello scanner

echo nameStr

'restituzione del risultato

Main = true

End Function

Per un esempio più avanzato, lo script in basso elencherà i servizi installati nel computer di destinazione (host locale = 127.0.0.1). Copiare e incollare il testo seguente nello script debugger ed eseguirlo (F5). Nella finestra di debug verrà visualizzato l’elenco dei servizi installati nel computer locale.

Function main

'dichiarazione degli oggetti che dovranno essere utilizzati

Dim wmi As Object

Dim objswbemobject As Object

'dichiarazione delle altre variabili necessarie

Dim strComputer As String

Dim cr As String

strComputer = "127.0.0.1"

'Ritorno a capo

cr = Chr(13) + Chr(10)

'hook con l’oggetto wmi

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

'Controllo della riuscita dell’hook

If wmi is Nothing Then echo ("errore1")

'Restituzione istanza servizi di wmi

Set wmiinst=wmi.instancesof("Win32_Service")

'Controllo per vedere disponibilità dell’istanza

If wmiinst is Nothing Then echo ("errore2")

'Ciclo true per ogni istanza

For Each objswbemobject In wmiinst

echo("Nome servizio= ")

'Visualizzazione servizi

echo(objswbemobject.DisplayName+cr)

Next

End Function

Nota

Se si tenta di utilizzare un oggetto automazione senza dichiarazione, lo script avrà esito negativo durante la compilazione. Come esempio, considerare lo stesso pezzo di codice in cui manca la dichiarazione completa della variabile dell’oggetto wmi. Nel momento in cui si tenta di eseguire lo script, verrà visualizzato un messaggio di errore nonché un’indicazione chiara della riga su cui si è verificato l’errore:

Function main

Dim wmi 'AVVISO : manca “come oggetto”

Dim objswbemobject As Object

End Function