Umgebungsvariablen und Eingabedateien in Skripts
Parameter einlesen
Eine weitere Option ist die Verwendung von Parametern, die beim Aufruf an der Befehlszeile angegeben
werden. Insgesamt ist das vielleicht der einfachste Ansatz (Listing 5).
Listing 5: Das Einlesen von Argumenten an der Befehlszeile
Set args = WScript.Arguments
For i=0 To args.count-1
StrComputer = args(i)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer& "\root\cimv2")
Set colServices = objWMIService.ExecQuery _
("SELECT * FROM Win32_Service")
Wscript.Echo strComputer, colServices.Count
Next
In diesem Fall kommt die Klasse WshArguments zum Einsatz. Durch das Setzen der Variablen in der ersten Zeile des Skripts werden die Aufrufparameter der Variablen args zugewiesen, sie müssen nun nur noch verarbeitet werden. In diesem Fall wird eine Schleife verwendet. Da die Nummerierung bei 0 beginnt, muss die Schleife von 0 bis zu einem Wert laufen, der um 1 kleiner ist als die Anzahl der Elemente. Bei drei Elementen haben diese beispielsweise die Indizes 0 bis 2. In der Schleife erfolgt die Verarbeitung exakt wie in Listing 4. Auch die Ausgabe ist gleich – der einzige Unterschied ist, dass nun Befehlszeilenparameter
übergeben werden müssen.
Auch hier lässt sich noch mehr machen. So könnten beispielsweise Parameter in der Art von
/s:windowstest1
verwendet werden. In diesem Fall müsste die Verarbeitung so gestaltet werden, dass der Parameter identifiziert und der Wert anschließend in eine Variable geschrieben wird.
Die verschiedenen Beispiele zeigen, dass es relativ einfach ist, externe Eingaben in Skripts zu verarbeiten und diese damit über Parameter zu steuern. Alle Listings in diesem Artikel können als Raster für eigene Lösungen dienen, weil sie jeweils die Grundstruktur der Verarbeitung illustrieren.