Vytváranie vlastných kolektorov VBScript spoločných pre všetky konfiguračné súbory

Keď vytvárate vlastné spoločné kolektory VBScript, názov súboru musí obsahovať názov vlastnosti požiadavky a súbor musí byť uložený v podadresári /lib. Kolektor obsahuje kód na získanie aktuálnej hodnoty pre vlastnosť požiadavky. Podľa potreby tiež môže používať spoločné funkcie a podrutiny na získanie hodnoty.

Skôr ako začnete

Pred vytvorením kolektorov si pozrite množinu vopred definovaných funkcií a podrutín v nasledujúcich prílohách. Určite, či môžete niektoré z nich použiť na získanie skutočných hodnôt: Určite, či musí kolektor kontrolovať existenciu vlastnosti požiadavky a ak áno, aké iné informácie musí zhromaždiť. Každá kontrola musí vrátiť hodnotu aj v prípade neexistencie. Príklad:
  • Kontrola, či existuje premenná prostredia, ako je domovský adresár produktu. Príklad je TCR_HOME pre Tivoli Common Reporting
  • Kontrola, či premenná prostredia obsahuje súbor JAR, binárny súbor alebo cestu k JRE v premennej prostredia PATH.
  • Kontrola aktuálnej premennej prostredia, ako je domovský adresár alebo produkt. Príklad je TCR_HOME pre Tivoli Common Reporting.
  • Kontrola, či je nainštalovaný produkt.
  • Skontrolujte verziu nainštalovaného produktu.

Procedúra

  1. Vytvorte súbor VBScript. Uložte súbor do adresára ips_root/lib s variantom nasledujúcej konvencie pomenúvania súborov:
    [prefix_identifier.]property_name.vbs
    Kde:
    • prefix_identifier je identifikátor vopred definovanej kategórie vlastností požiadaviek, ako opisuje Tabuľka 1.
    • property_name je názov vlastnosti požiadavky a používa sa v názve kolektora.
    Napríklad mssqlVersion.vbs obsahuje kód na získanie aktuálnej hodnoty pre vlastnosť požiadavky MS SQL Server v počítači Windows.
  2. Pomocou editora VBScript pridajte kód na obsiahnutie hodnoty pre vlastnosť požiadavky. Použite model VBScript COM a funkcie na prístup k elementom prostredia Windows a spustenie v prostredí Windows Script Host. Zaistite, aby kontrolovanie vrátilo štandardný výstup:
    WScript.Echo "property_name=" & var_for_value
    • property_name, ktoré reprezentuje vlastnosť požiadavky, ako je zapísaná v konfiguračnom súbore, napríklad env.tcrhome.
    • var_for_value, t. j. premenná VBScript pre aktuálnu hodnotu, ktorú kolektor získa pre vlastnosť požiadavky.
    Na kontrolu, či existuje prostredie TCR_HOME, a vrátenie aktuálnej hodnoty, kde názov vlastnosti požiadavky je env.tcrhome, použite toto:
    set wshShell = WScript.CreateObject("WScript.Shell")
    tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
    WScript.Echo "env.tcrhome=" & tcr_home
    Na kontrolu, či je nastavené JRE v premennej PATH, kde názov vlastnosti požiadavky je env.path.jre, použite toto:
    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)
    Na kontrolu verzie nainštalovaného produktu Tivoli Directory Integrator, kde názov vlastnosti požiadavky je 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. Spustite kolektor VBScript na overenie, že nenastanú žiadne chyby v čase vykonávania, a podľa potreby ho odlaďte.
  4. Vytvorte vlastný vyhodnocovač, iba ak štandardné funkcie porovnávania nemôžu porovnať aktuálne a očakávané hodnoty.