Intégration de données externes
La base de données et la solution de reporting de Specops Inventory sont conçues avec des connexions externes à l'esprit. Les données externes peuvent être importées dans les données de Specops Inventory et mises à disposition du moteur de reporting. Ces informations peuvent ensuite être combinées avec toutes les autres informations d'inventaire lors de la création ou de la modification des rapports par défaut.
La seule exigence pour les données externes est qu'elles puissent être connectées à des noms d'ordinateurs ou d'utilisateurs. Alternativement, les GUIDs d'ordinateurs ou d'utilisateurs d'Active Directory peuvent être utilisés pour établir la connexion. L'importation de données externes nécessite également quelques connaissances en serveur SQL et SQL, et éventuellement une expérience en script.
Remarque: De nombreuses propriétés des objets ordinateurs et utilisateurs d'Active Directory sont par défaut inventoriées par Specops Inventory. Si vous pouvez intégrer vos données dans l'un de ces champs, vous avez terminé.
Conception de la base de données
La table la plus centrale dans la base de données de Specops Inventory s'appelle soPrinicpal. Cette table contient tous les ordinateurs et utilisateurs qui ont été inventoriés. Les colonnes importantes pour ce document sont:
Colonne | Description |
---|---|
ID | La clé interne de Specops Inventory pour l'ordinateur ou l'utilisateur. Il s'agit d'une valeur générée et toutes les connexions aux ordinateurs ou utilisateurs dans la base de données utilisent cette clé. |
Nom | Le nom de l'ordinateur ou de l'utilisateur. Il s'agit du nom NETBios de l'objet, le nom de domaine n'est pas inclus. |
Domaine | Le nom du domaine de l'ordinateur ou de l'utilisateur. Il s'agit du nom NETBios du domaine. Tel que "Specopssoft" ou "OurEnterprise." |
Guid | L'identifiant unique de l'objet dans Active Directory. |
Type | Il s'agit d'un indicateur indiquant quel type d'objet la ligne contient. 0 signifie que c'est un ordinateur, 1 signifie que c'est un utilisateur. |
Le tableau suivant présente quelques exemples de données de la table soPrincipal:
ID | Nom | Domaine | Guid | Type |
---|---|---|---|---|
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 |
Toutes les informations utilisées pour le reporting dans la base de données sont connectées à la table soPrincipal par la colonne Id. Par exemple, la table de matériel informatique ressemble à ceci:
PrincipalID | Fabricant | Modèle |
---|---|---|
1 | Dell | Latitude xyz |
2 | Dell | Inspiron abc |
3 | HP | HP whatever ABC |
Pour chaque ligne de cette table, le champ PrincipalId connecte la ligne à l'ordinateur correspondant dans la table soPrincipal.
Intégrer les données externes dans la base de données
Afin d'intégrer les données externes dans la base de données Specops Inventory, une nouvelle table doit être créée dans la base de données puis remplie avec les données externes. Par exemple, nous pourrions créer la table suivante:
Nom de colonne | Type de données |
---|---|
PrincipalID | int |
DateAchat | datetime |
Remarque
Il doit y avoir une colonne appelée PrincipalId dans la table. C'est la colonne qui sera utilisée pour faire correspondre les lignes avec l'ordinateur correspondant lors de la génération des rapports.
Il est également recommandé de créer une contrainte de clé étrangère entre la colonne PrincipalId dans la nouvelle table et la colonne Id dans soPrincipal.
Lorsque la table a été créée, nous pourrions alors la remplir manuellement avec les dates d'achat, et l'ordinateur correspondant dans la table soPrincipal. Supposons que nous créons une table appelée soInvComputerPurchaseDate.
PrincipalId | DateAchat |
---|---|
1 | 7/8/2006 |
3 | 2/9/2006 |
6 | 4/12/2005 |
Nous pourrions maintenant ajouter cette information à nos rapports existants. Cependant, dans le monde réel, cette recherche manuelle n'est généralement pas réalisable ni recommandée. Comment automatiser cela ? Eh bien, tout dépend du type de données que vous importez et du format dans lequel elles sont disponibles. Les étapes suivantes doivent être effectuées:
Intégrez les données dans une table d'une base de données SQL Server, cela peut être dans une base de données distincte, il n'est pas nécessaire que ce soit la base de données Specops Inventory. Cette table servira de table de transit à partir de laquelle les données seront déplacées dans la table réelle de Specops Inventory (celle que nous avons créée ci-dessus). Pour intégrer les données dans la table de transit, vous pouvez configurer une source de données et utiliser le moteur d'importation de données SQL Server (la source de données pourrait être une base de données Oracle, un document Excel ou tout autre type de source ODBC). Vous pouvez ensuite configurer cela comme un travail planifié à exécuter régulièrement si les données sources sont susceptibles de changer. Supposons que la table de transit s'appelle ComputerPurchaseDateStaging et ressemble à ceci:
NomOrdinateur | DateAchat |
---|---|
Ordinateur 17 | 7/8/2006 |
Ordinateur 06 | 2/9/2006 |
Ordinateur 21 | 4/12/2005 |
Dans cette table, nous avons les noms des ordinateurs qui peuvent maintenant être mis en correspondance avec les noms des ordinateurs dans la table soPrincipal. C'est la partie cruciale, nous devons avoir des noms d'ordinateurs qui peuvent être mis en correspondance avec les ordinateurs dans la table soPrincipal. Maintenant, pour obtenir les données de cette table de transit, nous devrions exécuter la déclaration SQL suivante:
INSERT
INTO soInvComputerPurchaseDate
SELECT p.Id, s.DateAchat
FROM soPrincipal p, ComputerPurchaseDateStaging s
WHERE s.NomOrdinateur = p.Nom
AND p.Type = 0
Cela insérera des données dans la table soInvComputerPurchase tout comme nous l'avons fait dans l'exemple manuel ci-dessus. L'exécution de cette déclaration SQL devrait également être planifiée pour s'exécuter après l'exécution du travail d'importation.
Ajouter la nouvelle table comme source de rapport
Maintenant que nous avons les données dans la base de données Specops Inventory, il reste une dernière étape avant que les données ne deviennent disponibles en tant que source de reporting. Il y a une table dans la base de données qui contient les noms de toutes les tables (ou vues) qui sont autorisées à être utilisées dans les rapports. La table s'appelle soRepReportView. Insérez une ligne comme la suivante dans cette table:
Id | Nom | Type de jointure | Nom d'affichage |
---|---|---|---|
(généré) | soInvComputerPurchaseDate | Principal | Date d'achat ordinateur |
Remarque
Vous ne devez pas entrer un numéro dans le champ Id, cette valeur sera générée automatiquement.