Angepasste allgemeine VBScript-Collectors für alle Konfigurationsdateien erstellen

Wenn Sie angepasste allgemeine VBScript-Collectors erstellen, muss der Dateiname den Namen der vorausgesetzten Eigenschaft enthalten. Diese Collectors müssen im Unterverzeichnis /lib gespeichert werden. Der Collector enthält den tatsächlichen Wert für eine erforderliche Eigenschaft. Er kann für den Abruf dieser Werte ggf. auch die allgemeinen Funktionen und Subroutinen verwenden.

Vorbereitende Schritte

Stellen Sie sicher, dass Sie sich die Gruppe der vordefinierten Funktionen und Subroutinen in den folgenden Anhängen angesehen haben, bevor Sie die Collectors erstellen. Stellen Sie fest, ob Sie eine dieser Funktionen für den Abruf der tatsächlichen Werte verwenden können: Stellen Sie fest, ob der Collector überprüfen muss, ob die vorausgesetzte Eigenschaft vorhanden ist, und wenn ja, welche weiteren Informationen erfasst werden müssen. Jede Prüfung muss einen Wert zurückgeben, der anzeigt, ob die Eigenschaft vorhanden ist oder nicht. Beispiel:
  • Prüfen, ob eine Umgebungsvariable vorhanden ist, z. B. das Ausgangsverzeichnis eines Produkts, z. B. TCR_HOME für Tivoli Common Reporting.
  • Prüfen, ob die Umgebungsvariable eine JAR-Datei, eine Binärdatei oder einen Pfad zur JRE in der Umgebungsvariablen PATH enthält.
  • Tatsächlichen Wert einer Umgebungsvariablen prüfen, z. B. das Ausgangsverzeichnis eines Produkts, z. B. TCR_HOME für Tivoli Common Reporting.
  • Prüfen, ob ein Produkt installiert ist.
  • Prüfen, welche Version des Produkts installiert ist.

Vorgehensweise

  1. Erstellen Sie eine VBScript-Datei. Speichern Sie die Datei im Verzeichnis ips_root/lib mit einer Variante der folgenden Dateinamenskonvention:
    [prefix_identifier.]property_name.vbs
    Erläuterungen:
    • prefix_identifier ist die Präfix-ID für eine vordefinierte Kategorie vorausgesetzter Eigenschaften. Weitere Informationen finden Sie in Tabelle 1.
    • property_name ist der Name der vorausgesetzten Eigenschaft und wird im Collectornamen verwendet.
    mssqlVersion.vbs enthält beispielsweise den Code für den Abruf des tatsächlichen Werts für die vorausgesetzte Eigenschaft "MS SQL Server" auf der Windows-Maschine.
  2. Fügen Sie mit einem VBScript-Editor den Code hinzu, um den Wert für die vorausgesetzte Eigenschaft abzurufen. Verwenden Sie VBScript COM und VBScript-Funktionen, um auf Elemente der Windows-Umgebung zuzugreifen und sie in der Windows-Script-Host-Umgebung auszuführen. Stellen Sie sicher, dass die Prüfung eine Standardausgabe wie die folgende zurückgibt:
    WScript.Echo "property_name=" & var_for_value
    • property_name stellt die vorausgesetzte Eigenschaft dar, die in der Konfigurationsdatei angegeben ist, z. B. env.tcrhome.
    • var_for_value, d. h. die VBScript-Variable für den tatsächlichen Wert, den der Collector für die vorausgesetzte Eigenschaft abruft.
    Verwenden Sie den folgenden Code, um zu überprüfen, ob die TCR_HOME-Umgebung vorhanden ist, und den tatsächlichen Wert für die vorausgesetzte Eigenschaft env.tcrhome zurückzugeben:
    set wshShell = WScript.CreateObject("WScript.Shell")
    tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
    WScript.Echo "env.tcrhome=" & tcr_home
    Verwenden Sie den folgenden Code, um zu überprüfen, ob die JRE in der Variablen PATH gesetzt ist, wobei die vorausgesetzte Eigenschaft den Namen env.path.jre hat:
    Set wshShell = WScript.CreateObject("WScript.Shell")
    path = WshShell.ExpandEnvironmentStrings("%PATH%")
    Set objRegEx = new RegExp
    objRegEx.Pattern = "(^|([:;\\/]))(C:\Program Files\IBM\Java60\jre\bin)($|[:;])"
    objRegEx.IgnoreCase = True
    objRegEx.Global = True
    Set matches = objRegEx.Execute(path)
    WScript.Echo "env.path.jre=" & (matches.Count > 0)
    Verwenden Sie den folgenden Code, um die Version des installierten Produkts Tivoli Directory Integrator zu überprüfen, wobei die vorausgesetzte Eigenschaft den Namen installedSoftware.TDI.version hat:
    strComputer = "."
    strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
    regDisName = "DisplayName"
    regDisVer = "DisplayVersion"
    
    Set oReg = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" &
            		strComputer & "\root\default:StdRegProv")
    
    Set sftReg = new RegExp
    sftReg.pattern = "Tivoli Directory Integrator"
    sftReg.Global=False
    oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
    For Each subkey In arrSubKeys
        searchkey = strKeyPath & "\" & subkey
        oReg.GetStringValue HKEY_LOCAL_MACHINE, searchkey, regDisName, strName
        oReg.GetStringValue HKEY_LOCAL_MACHINE, searchkey, regDisVer, strVersion
        If Not IsNull(strName) Then
           Set matches = sftReg.Execute(strName)
           If matches.Count > 0 Then
               Wscript.Echo "installedSoftware.TDI.version=" & strVersion
           End If
        End If      
    Next
  3. Führen Sie den VBScript-Collector aus, um sicherzustellen, dass keine Laufzeitfehler aufgetreten sind, und beheben Sie ggf. aufgetretene Fehler.
  4. Erstellen Sie ein angepasstes Auswertungsprogramm nur dann, wenn die tatsächlichen und erwarteten Werte nicht mit den Standardvergleichsfunktionen verglichen werden können.