Saltar a contenido
IAM diseñada para la era de la IA

Integración de datos externos

La solución de base de datos e informes de Specops Inventory está diseñada teniendo en cuenta las conexiones externas. Los datos externos se pueden importar a los datos de Specops Inventory y poner a disposición del motor de informes. Esta información se puede combinar con toda la demás información de inventario al crear o editar los informes predeterminados.

El único requisito para los datos externos es que se puedan conectar a nombres de computadoras o usuarios. Alternativamente, se pueden usar los GUID de computadoras o usuarios de Active Directory para realizar la conexión. La importación de datos externos también requiere algunos conocimientos de SQL server y SQL y posiblemente experiencia en scripting.

Nota: Muchas propiedades de los objetos de computadora y usuario de Active Directory son inventariadas por defecto por Specops Inventory. Si puedes ingresar tus datos en uno de esos campos, has terminado.

Diseño de base de datos

La tabla más central en la base de datos de Specops Inventory se llama soPrincipal. Esta tabla contiene todas las computadoras y usuarios que han sido inventariados. Las columnas importantes para este documento son:

Columna Descripción
ID La clave interna de Specops Inventory para la computadora o usuario. Este es un valor generado y todas las conexiones a computadoras o usuarios en la base de datos usan esta clave.
Nombre El nombre de la computadora o usuario. Este es el nombre NETBios del objeto, el nombre de dominio no está incluido.
Dominio El nombre del dominio de la computadora o del usuario. Este es el nombre NETBios del dominio. Como "Specopssoft" o "OurEnterprise".
Guid El identificador único para el objeto en Active Directory.
Tipo Este es un indicador que muestra qué tipo de objeto contiene la fila. 0 significa que es una computadora, 1 significa que es un usuario.

La siguiente tabla muestra algunos datos de ejemplo de la tabla soPrincipal:

ID Nombre Dominio Guid Tipo
1 computer17 specopssoft 9802ab9a-d331–431b-9621–5a995f05fe52 0
3 computer06 specopssoft f85091c9-cac6–4c39–9e17–0ad7e656d2de 0
4 Bob specopssoft 649a191f-a240–4a33–9b5c-f6e1a69be3d5 1
6 computer21 specopssoft 2121f3e2–8f3f-4b14–88e6-ffd9d61c95ca 0

Toda la información utilizada para los informes en la base de datos está conectada a la tabla soPrincipal por la columna Id. Por ejemplo, la tabla de hardware de la computadora se ve algo así:

PrincipalID Fabricante Modelo
1 Dell Latitude xyz
2 Dell Inspiron abc
3 HP HP whatever ABC

Para cada fila en esta tabla, el campo PrincipalId conecta la fila con la computadora correspondiente en la tabla soPrincipal.

Introducción de los datos externos en la base de datos

Para introducir los datos externos en la base de datos de Specops Inventory, se debe crear una nueva tabla en la base de datos y luego llenarla con los datos externos. Por ejemplo, podríamos crear la siguiente tabla:

Nombre de columna Tipo de dato
PrincipalID int
TimeOfPurchase datetime

Nota

Debe haber una columna llamada PrincipalId en la tabla. Esta es la columna que se utilizará para emparejar las filas con la computadora correspondiente al generar los informes.

También se recomienda crear una restricción de clave externa entre la columna PrincipalId en la nueva tabla y la columna Id en soPrincipal.

Cuando se haya creado la tabla, podríamos llenarla manualmente con fechas de compra y la computadora correspondiente en la tabla soPrincipal. Supongamos que creamos una tabla llamada soInvComputerPurchaseDate.

PrincipalId TimeOfPurchase
1 7/8/2006
3 2/9/2006
6 4/12/2005

Ahora podríamos agregar esta información a nuestros informes existentes. Sin embargo, en el mundo real, esta búsqueda manual generalmente no es factible ni recomendable. ¿Cómo automatizamos esto? Bueno, todo depende del tipo de datos que estés importando y en qué formato estén disponibles. Se debe hacer lo siguiente:

Introduce los datos en una tabla en una base de datos de SQL server, esto puede estar en una base de datos separada, no tiene que ser la base de datos de Specops Inventory. Esta tabla servirá como una tabla de preparación desde donde los datos se trasladan a la tabla real de Specops Inventory (la que creamos anteriormente). Para introducir los datos en la tabla de preparación, puedes configurar una fuente de datos y usar el motor de importación de datos de SQL server (la fuente de datos podría ser una base de datos Oracle, un documento de Excel o cualquier otro tipo de fuente ODBC). Luego puedes configurar esto como un trabajo programado para realizarse regularmente si es probable que los datos de origen cambien. Supongamos que la tabla de preparación se llama ComputerPurchaseDateStaging y se ve así:

Nombre de la computadora TimeOfPurchase
Computer 17 7/8/2006
Computer 06 2/9/2006
Computer 21 4/12/2005

En esta tabla, tenemos los nombres de las computadoras que ahora se pueden emparejar con los nombres de las computadoras en la tabla soPrincipal. Esta es la parte crucial, debemos tener nombres de computadoras que se puedan emparejar con las computadoras en la tabla soPrincipal. Ahora, para obtener los datos de esta tabla de preparación, tendríamos que ejecutar la siguiente declaración SQL:

INSERT
INTO soInvComputerPurchaseDate
SELECT p.Id, s.TimeOfPurchase
FROM soPrincipal p, ComputerPurchaseDateStaging s
WHERE s.ComputerName = p.Name
AND p.Type = 0

Esto insertará datos en la tabla soInvComputerPurchase tal como lo hicimos en el ejemplo manual anterior. La ejecución de esta declaración SQL también debe programarse para ejecutarse después de que se ejecute el trabajo de importación.

Agregar la nueva tabla como fuente de informe

Ahora que tenemos los datos en la base de datos de Specops Inventory, hay un paso final antes de que los datos estén disponibles como fuente de informes. Hay una tabla en la base de datos que contiene los nombres de todas las tablas (o vistas) que se permiten usar en informes. La tabla se llama soRepReportView. Inserta una fila como la siguiente en esta tabla:

Id Nombre Tipo de unión Nombre para mostrar
(generado) soInvComputerPurchaseDate Principal Fecha de compra de computadora

Nota

No debes ingresar un número en el campo Id, este valor se generará automáticamente.