Létrehozhat egyéni, általános VBScript adatgyűjtőket, amelyekben
a fájlnévnek tartalmazni kell az előfeltétel tulajdonság nevét és a
/lib alkönyvtárban kell tárolni őket. Az adatgyűjtő kódot tartalmaz
az előfeltétel tulajdonság aktuális értékének lekérdezéséhez. Az érték lekérdezéséhez
általános függvényeket és alrutinokat is használhat, ha szükséges.
Mielőtt elkezdené
Az adatgyűjtők létrehozása előtt tekintse át az előre meghatározott
függvénykészletet és az alrutinokat az alábbi függelékekben. Állapítsa meg,
hogy fel tudja-e használni valamelyiket az aktuális értékek lekérdezéséhez:
Határozza meg, hogy
az adatgyűjtőnek kell-e ellenőrizni az előfeltétel tulajdonság létezését,
és ha igen, akkor milyen további információkat kell összegyűjteni.
Minden egyes ellenőrzésnek vissza kell adni egy értéket, hogy létezik-e vagy nem. Például:
- Ellenőrizheti, hogy egy adott környezeti változó létezik-e, például a termék
alapkönyvtára. Például TCR_HOME az Tivoli Common Reporting termékhez
- Ellenőrizheti, hogy a környezeti változó tartalmaz-e JAR fájlt, binárist vagy útvonalat,
például az útvonalat a JRE fájlhoz a PATH környezeti
változóban.
- Ellenőrizheti egy környezeti változó aktuális értékét, mint például a termék
alapkönyvtárát. Például TCR_HOME az Tivoli Common Reporting termékhez,
- Ellenőrizheti, hogy a termék telepítve van-e.
- Ellenőrizheti, hogy a terméknek mely változata van telepítve.
Eljárás
- Hozzon létre egy VBScript fájlt. Mentse a fájlt a ips_root/lib könyvtárba
az alábbi elnevezési megállapodás változatával:
[prefix_identifier.]property_name.vbs
Ahol:
- prefix_identifier az előfeltétel tulajdonságok
előre meghatározott kategóriájának előtag-azonosítója, ahogy az
1. Táblázat rész tartalmazza.
- property_name az előfeltétel tulajdonság neve
és az adatgyűjtő nevében kerül felhasználásra.
Például az mssqlVersion.vbs
tartalmazza a kódot az MS SQL Server előfeltétel tulajdonság aktuális értékének
lekérdezéséhez a Windows számítógépen.
- A VBScript szerkesztővel adja hozzá a kódot az előfeltétel tulajdonság értékének
lekérdezéséhez. A VBScript COM és a függvények segítségével érheti el a
Windows környezet elemeit és
futtathatja a Windows parancsfájl
hosztkörnyezetében. Győződjön meg róla, hogy az ellenőrzés szabványos kimenetet ad vissza az alábbiak szerint:
WScript.Echo "property_name=" & var_for_value
- property_name, amely az
előfeltétel tulajdonságot ábrázolja, ahogy a konfigurációs fájlba be van írva,
például: env.tcrhome.
- var_for_value a
tényleges érték VBScript változója, amelyet az adatgyűjtő az előfeltétel
tulajdonsághoz lekérdez.
Annak ellenőrzéséhez, hogy a TCR_HOME
környezet létezik-e és a tényleges érték visszaadásához, ahol az előfeltétel tulajdonság
neve: env.tcrhome:
set wshShell = WScript.CreateObject("WScript.Shell")
tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
WScript.Echo "env.tcrhome=" & tcr_home
Annak ellenőrzéséhez, hogy a JRE be van-e állítva a PATH változóban, ahol az
előfeltétel tulajdonság neve: 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)
A telepített Tivoli Directory Integrator
verziószámának ellenőrzéséhez, ahol az előfeltétel tulajdonság neve: 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
- Futtassa a VBScript adatgyűjtőt és győződjön meg róla, hogy nincs futás közbeni hiba,
és végezzen hibakeresést, ha szükséges.
- Csak abban az esetben hozzon létre egyéni kiértékelőt, ha a szabványos összehasonlító
függvények nem tudják összehasonlítani az aktuális és az elvárt értékeket.