Если вы создаете пользовательские общие сборщики VBScript, имя файла должно содержать имя свойства предварительного требования в подкаталоге /lib.
Сборщик содержит код, который получает фактическое значение свойства предварительного требования.
Кроме того, при необходимости он может использовать общие функции и подпрограммы для получения этих значений.
Прежде чем начать
Прежде чем создавать сборщики, просмотрите набор предварительно определенных функций и подпрограмм в следующих приложениях.
Выясните, можно ли использовать какие-то из них для получения фактических значений:
Выясните, должен ли сборщик проверить, что свойство предварительного требования существует, и, если оно существует, какую дополнительную информацию нужно собрать.
Каждая проверка должна возвращать значение, даже если свойство не существует.
Например:
- Проверить, существует ли переменная среды, например, домашний каталог некоторого продукта.
Пример - TCR_HOME для Tivoli Common Reporting
- Проверить, содержит ли переменная среды файл JAR, двоичные данные или путь, например, путь к JRE в переменной среды PATH.
- Проверить фактическое значение переменной среды, например, домашний каталог продукта.
Пример - TCR_HOME для Tivoli Common Reporting.
- Проверить, установлен ли продукт.
- Проверить, какая версия продукта установлена.
Процедура
- Создайте файл VBScript. Сохраните файл в каталоге ips_root/lib, соблюдая некоторую версию следующих правил именования файлов:
[prefix_identifier.]property_name.vbs
Где:
- prefix_identifier - это префиксный идентификатор для предварительно определенной категории свойств предварительных требований, как описано в разделе Табл. 1.
- property_name - это имя свойства предварительных требований, используется в имени сборщика.
Например, mssqlVersion.vbs содержит код, который получает фактическое значение свойства предварительного требования сервера MS SQL на компьютере Windows.
- В редакторе VBScript добавьте код, получающий значение свойства предварительного требования.
Пользуйтесь VBScript COM и функциями для доступа к элементам среды Windows и запуска в среде сервера сценариев Windows.
Убедитесь, что проверка возвращает стандартную выходную информацию, как показано:
WScript.Echo "property_name=" & var_for_value
- property_name представляет свойство предварительного требования, как написано в файле конфигурации, например, env.tcrhome.
- var_for_value - переменная VBScript для фактического значения, которое сборщик получает для свойства предварительного требования.
Чтобы проверить, что среда TCR_HOME существует и возвращает фактическое значение, где имя свойства предварительного требования - env.tcrhome:
set wshShell = WScript.CreateObject("WScript.Shell")
tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
WScript.Echo "env.tcrhome=" & tcr_home
Чтобы проверить, что среда JRE задана в переменной PATH, где имя свойства предварительного требования - 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)
Чтобы проверить, что установлена версия Tivoli Directory Integrator, где имя свойства предварительного требования - 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
- Запустите сборщик VBScript, чтобы убедиться, что нет ошибок времени выполнения, и при необходимости выполните отладку.
- Создайте пользовательский оценщик, только если стандартные функции сравнения не могут сравнить фактическое и ожидаемое значения.