Kreiranje prilagođenih VBScript skupljača, zajedničkih za sve konfiguracijske datoteke

Kad kreirate prilagođene zajedničke VBScript skupljače, ime datoteke mora sadržavati ime preduvjetnog svojstva i ona se mora nalaziti u /lib poddirektoriju. Skupljač sadrži kod za dobivanje stvarne vrijednosti za preduvjetno svojstvo. On također može koristiti i zajedničke funkcije i podrutine za dobivanje tih vrijednosti.

Prije nego počnete

Trebate pregledati skup preddefiniranih funkcija i podrutina u sljedećim dodacima prije kreiranja skupljača. Odredite da li možete koristiti bilo kojeg od njih za dobivanje stvarnih vrijednosti: Odredite da li skupljač mora provjeravati da li preduvjetno svojstvo postoji i ako postoji, koje ostale informacije treba skupiti. Svaka provjera mora vratiti vrijednost, bez obzira da li ona postoji ili ne. Na primjer:
  • Provjera postojanja varijable okoline, kao što je početni direktorij proizvoda. Primjer je TCR_HOME za Tivoli Common Reporting
  • Provjera da li varijabla okoline sadrži JAR datoteku, binarno ili stazu, kao što je staza do JRE u PATH varijabli okoline.
  • Provjera stvarne vrijednosti varijable okoline, kao što je početni direktorij proizvoda. Primjer je TCR_HOME za Tivoli Common Reporting
  • Provjera da li je proizvod instaliran.
  • Provjera da li je instalirana verzija proizvoda.

Postupak

  1. Kreirajte VBScript datoteku. Spremite datoteku u ips_root/lib direktorij, s varijantom od sljedeće konvencije imenovanja datoteka:
    [prefix_identifier.]property_name.vbs
    Gdje je:
    • prefix_identifier identifikator prefiksa za preddefiniranu kategoriju preduvjetnih svojstava kako je istaknuto u Tablica 1.
    • property_name je naziv preduvjetnog svojstva i koristi se u nazivu skupljača.
    Na primjer, mssqlVersion.vbs sadrži kod za dobivanje stvarne vrijednosti za preduvjetno svojstvo MS SQL poslužitelja na Windows stroju.
  2. Pomoću VBScript editora dodajte kod za dobivanje vrijednosti za preduvjetno svojstvo. Koristite VBScript COM i funkcije za pristup elementima Windows okoline i izvedite Windows Script Host okolinu. Osigurajte da provjera vraća standardni izlaz kako slijedi:
    WScript.Echo "property_name=" & var_for_value
    • property_name koji predstavlja preduvjetno svojstvo kako je napisano u konfiguracijskoj datoteci, na primjer, env.tcrhome.
    • var_for_value, je VBScript varijabla za stvarnu vrijednost koju skupljač dobiva za preduvjetno svojstvo.
    Za provjeru da li TCR_HOME okolina postoji i vraćanje stvarne vrijednosti, kad je naziv preduvjetnog svojstva env.tcrhome:
    set wshShell = WScript.CreateObject("WScript.Shell")
    tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
    WScript.Echo "env.tcrhome=" & tcr_home
    Za provjeru da li je JRE postavljena u PATH varijabli, kad je naziv preduvjetnog svojstva 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)
    Za provjeru verzije za instalirani Tivoli Directory Integrator, gdje je naziv preduvjetnog svojstva 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. Izvedite VBScript skupljača da bi osigurali da nema runtime grešaka i izvedite debug ako je potrebno.
  4. Kreirajte prilagođenog procjenitelja samo ako standardne funkcije usporedbe ne mogu usporediti stvarne i očekivane vrijednosti.