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
- 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.
- 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
- Izvedite VBScript skupljača da bi osigurali da nema runtime
grešaka i izvedite debug ako je potrebno.
- Kreirajte prilagođenog procjenitelja samo ako standardne funkcije
usporedbe ne mogu usporediti stvarne i očekivane vrijednosti.