Cuando cree recopiladores VBScript comunes personalizados, el
nombre de archivo debe contener el nombre de la propiedad de requisito previo y estar
guardarse en el subdirectorio /lib. El recopilador contiene
código para obtener el valor real de una propiedad de requisito previo. También puede
utilizar las funciones comunes y subrutinas para obtener el valor
si es necesario.
Antes de empezar
Asegúrese de revisar el conjunto de funciones predefinidas y subrutinas de los siguientes apéndices antes de crear los recopiladores.
Determine si puede utilizar alguno de ellos para obtener los valores reales:
Determine si el recopilador debe comprobar que la propiedad de requisito previo existe y en caso afirmativo, qué otra información debe recopilarse.
Todas las comprobaciones deben devolver un valor, tanto si existe uno como si no. Por ejemplo:
- Compruebe si existe una variable de entorno, como el directorio de inicio de un producto. Por ejemplo, TCR_HOME para Tivoli Common Reporting
- Compruebe si la variable de entorno contiene un archivo JAR, binario, o ruta, como por ejemplo la ruta del JRE en la variable de entorno PATH.
- Compruebe el valor real de una variable de entorno, como el directorio de inicio de un producto. Por ejemplo, TCR_HOME para Tivoli Common Reporting.
- Compruebe si se ha instalado un producto.
- Compruebe qué versión del producto está instalada.
Procedimiento
- Cree un archivo VBScript. Guarde el archivo en el directorio ips_root/lib, con una variante de la siguiente convención de nomenclatura:
[prefix_identifier.]property_name.vbs
Donde:
- prefix_identifier es el identificador de prefijo de una categoría predefinida de las propiedades de requisitos previos como se indica en la Tabla 1.
- property_name es el nombre de la propiedad de requisito previo y se utiliza en el nombre del recopilador.
Por ejemplo, mssqlVersion.vbs contiene el código para obtener el valor real de la propiedad de requisito previo del servidor MS SQL
en la máquina Windows.
- Con un editor de VBScript, agregue el código para obtener el valor de la propiedad de requisito previo. Utilice VBScript COM y funciones para acceder a los elementos del entorno Windows
y ejecutar el entorno Windows Script
Host. Asegúrese de que la comprobación devuelve la siguiente salida estándar:
WScript.Echo "property_name=" & var_for_value
- property_name que representa la propiedad de
requisito previo como está grabada en el archivo de configuración; por
ejemplo, env.tcrhome.
- var_for_value, es decir, la variable VBScript del valor real que el recopilador obtiene para la propiedad de requisito previo.
Para comprobar si el entorno existe TCR_HOME y devolver el valor real,
donde el nombre de propiedad de requisito previo es env.tcrhome:
set wshShell = WScript.CreateObject("WScript.Shell")
tcr_home=WshShell.ExpandEnvironmentStrings("%TCR_HOME%")
WScript.Echo "env.tcrhome=" & tcr_home
Para comprobar si se ha establecido el JRE en la variable PATH, donde
el nombre de propiedad de requisito previo es 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)
Para comprobar la versión instalada de Tivoli Directory Integrator, donde el nombre de propiedad de requisito previo es 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
- Ejecute el recopilador VBScript para asegurarse de que no hay errores de ejecución y depurar si es necesario.
- Cree un evaluador personalizado solo si las funciones de comparación estándar
no pueden comparar los valores reales y esperados.