Tworzenie niestandardowych kolektorów VBScript wspólnych dla wszystkich plików konfiguracyjnych

Tworząc niestandardowe wspólne kolektory VBScript, należy pamiętać o tym, że nazwa pliku musi zawierać nazwę właściwości wymagania wstępnego, a plik musi być zapisany w podkatalogu /lib. Kolektor zawiera kod umożliwiający uzyskanie rzeczywistej wartości właściwości wymagania wstępnego. Do uzyskania wartości może on także używać funkcji i procedur, jeśli jest to wymagane.

Zanim rozpoczniesz

Przed rozpoczęciem tworzenia kolektorów należy przejrzeć zestaw predefiniowanych funkcji i procedur dostępnych w następujących dodatkach. Należy stwierdzić, czy można ich użyć do uzyskania wartości rzeczywistych: Określ, czy kolektor musi sprawdzać, czy właściwość wymagania wstępnego istnieje, a jeśli tak, to jakie inne informacje muszą być zbierane. Każde sprawdzenie musi zwracać wartość, bez względu na to, czy istnieje. Na przykład:
  • Sprawdź, czy istnieje zmienna środowiskowa, na przykład katalog główny produktu. Przykład: TCR_HOME dla produktu Tivoli Common Reporting.
  • Sprawdź, czy zmienna środowiskowa zawiera plik JAR, plik binarny lub ścieżkę, np. ścieżkę do środowiska JRE w zmiennej środowiskowej PATH.
  • Sprawdź wartość rzeczywistą zmiennej środowiskowej, na przykład katalog główny produktu. Przykład: TCR_HOME dla produktu Tivoli Common Reporting.
  • Sprawdź, czy produkt jest zainstalowany.
  • Sprawdź, która wersja produktu jest zainstalowana.

Procedura

  1. Utwórz plik skryptu VBScript. Zapisz ten plik w katalogu ips_root/lib, stosując następujący wariant nazwy pliku:
    [prefix_identifier.]property_name.vbs
    gdzie:
    • prefix_identifier to identyfikator przedrostka predefiniowanej kategorii właściwości wymagań wstępnych, jak to przedstawia Tabela 1.
    • property_name oznacza nazwę właściwości wymagania wstępnego i jest używana w nazwie kolektora.
    Na przykład mssqlVersion.vbs zawiera kod do uzyskania wartości rzeczywistej dla właściwości wymagania wstępnego MS SQL Server na komputerze z systemem Windows.
  2. Za pomocą edytora kodu VBScript dodaj kod, aby uzyskać wartość właściwości wymagania wstępnego. Użyj modelu i funkcji VBScript, aby uzyskać dostęp do elementów środowiska systemu Windows i uruchomić w środowisku hosta skryptów systemu Windows. Upewnij się, że sprawdzenie zwraca wyjście standardowe:
    WScript.Echo "property_name=" & var_for_value
    • property_name, która reprezentuje właściwość wymagania wstępnego w postaci zapisanej w pliku konfiguracyjnym, na przykład env.tcrhome.
    • var_for_value, tj. zmienna VBScript dla wartości rzeczywistej, którą kolektor uzyskuje dla właściwości wymagania wstępnego.
    Aby sprawdzić, czy środowisko TCR_HOME istnieje, i zwrócić wartość rzeczywistą, gdzie nazwa właściwości wymagania wstępnego to env.tcrhome:
    set wshShell = WScript.CreateObject("WScript.Shell")
    tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
    WScript.Echo "env.tcrhome=" & tcr_home
    Aby sprawdzić, czy środowisko JRE jest ustawione w zmiennej PATH, gdzie nazwa właściwości wymagania wstępnego to env.path.jre:
    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)
    Aby sprawdzić wersję zainstalowanego programu Tivoli Directory Integrator, gdzie nazwa właściwości wymagania wstępnego to installedSoftware.TDI.version:
    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. Uruchom kolektor VBScript, aby upewnić się, że nie występują błędy w czasie wykonywania, a w razie potrzeby przeprowadź debugowanie.
  4. Utwórz ewaluator niestandardowy tylko wtedy, gdy standardowe funkcje porównywania nie mogą porównać wartości rzeczywistych i oczekiwanych.