Creación de recopiladores VBScript personalizado comunes a todos los archivos de configuración

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

  1. 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.
  2. 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
  3. Ejecute el recopilador VBScript para asegurarse de que no hay errores de ejecución y depurar si es necesario.
  4. Cree un evaluador personalizado solo si las funciones de comparación estándar no pueden comparar los valores reales y esperados.