La section suivante décrit les classes du schéma de la base de données ainsi que les extensions et les associations apportées au schéma CIM en vue de son utilisation avec ZfD. Les noms de schéma des extensions sont ZENworks ou ManageWise. ZENworks.nomdeclasse fait référence à la classe étendue dans le schéma ZENworks et ManageWise.nomdeclasse fait référence à la classe étendue dans le schéma ManageWise.
Les sections suivantes vous aideront à comprendre le schéma de la base de données ZfD 4 :
Le scénario suivant décrit un poste de travail inventorié avec deux ports parallèles doté d'un numéro d'interruption spécifié.
Dans le diagramme suivant, CIM_UnitaryComputerSystem représente un système d'inventaire géré.
Dans cette illustration, la classe CIM.PointingDevice s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemDevice.PartComponent vers CIM.PointingDevice. La relation entre les deux classes est de type « un à plusieurs ». Cela signifie qu'un système informatique peut être connecté à plusieurs périphériques de pointage.
La classe CIM.IRQ s'associe à CIM.PointingDevice via l'association CIM.AllocatedResource, Dependent pointant vers CIM.PointingDevice et Antecedent vers CIM.IRQ.
La classe ZENworks.ZENKeyboard s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemDevice.PartComponent vers ZENworks.ZENKeyboard. La relation entre les deux classes est de type « un à un ». Cela signifie qu'un système informatique ne peut disposer que d'un seul clavier.
La classe ZENworks.BIOS s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemBIOS.PartComponent vers ZENworks.BIOS. La relation entre les deux classes est de type « un à un ». Cela signifie qu'un système informatique ne peut disposer que d'un seul BIOS.
La classe CIM.ZENworks.ParallelPort s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemDevice.PartComponent vers CIM.ZENworks.ParallelPort. La relation entre les deux classes est de type « un à plusieurs ». Cela signifie qu'un système informatique peut être doté de plusieurs ports parallèles.
La classe ZENworks.BUS s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemBUS.PartComponent vers ZENworks.BUS. La relation entre les deux classes est de type « un à un ». Cela signifie qu'un système informatique ne peut disposer que d'un seul BUS.
La classe ManageWise.Usera s'associe à CIM.UnitaryComputerSystem via CurrentLoginUser et LastLoginUser. Dans l'association CurrentLoginUser, l'instance spécifique de User (utilisateur) est celle qui est actuellement loguée au poste de travail inventorié. Dans l'association LastLoginUser, l'instance spécifique de User (utilisateur) est la dernière instance à s'être loguée au poste de travail inventorié.
La classe CIM.IRQ s'associe à CIM.ParallelPort via l'association CIM.AllocatedResource, Dependent pointant vers CIM.ParallelPort et Antecedent vers CIM.IRQ.
Le diagramme illustre les éléments suivants :
Trois instances de ZENworks_ParallelPort sont associées à une instance de : CIM_UnitaryComputerSystem utilisant trois instances des associations CIM_SystemDevice, CIM_SystemDevice.GroupComponent fait référence à UnitaryComputerSystem, CIM_SystemDevice.PartComponent fait référence à ParallelPort.
Cette relation est appelée relation de référence d'objet « 1 to n » et elle est représentée dans l'illustration par 1..*. De même, chaque instance de ParallelPort possède une instance de CIM_IRQ correspondante qui désigne l'IRQ du port. Il s'agit d'une relation « un à un » représentée par 1..1.
Toutes les autres classes respectent le même type de représentation. Pour connaître les diagrammes de schéma des autres classes, voir Diagrammes du schéma CIM et des schémas d'extension dans ZfD .
Voici les légendes nécessaires à la lecture des diagrammes de schéma :
Pour obtenir une explication sur le schéma CIM, consultez la spécification du schéma CIM 2.2 sur le site Web DMTF.
Le tableau suivant décrit les classes CIM et les classes d'extension utilisées par ZfD :
Les diagrammes du schéma CIM et des schémas d'extension suivants définissent la base de données d'inventaire de ZfD.
Dans le diagramme suivant, CIM_UnitaryComputerSystem représente un système d'inventaire géré.
Dans cette illustration, la classe CIM.PointingDevice s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemDevice.PartComponent vers CIM.PointingDevice. La relation entre les deux classes est de type « un à plusieurs ». Cela signifie qu'un système informatique peut être connecté à plusieurs périphériques de pointage.
La classe CIM.IRQ s'associe à CIM.PointingDevice via l'association CIM.AllocatedResource, Dependent pointant vers CIM.PointingDevice et Antecedent vers CIM.IRQ.
La classe ZENworks.ZENKeyboard s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemDevice.PartComponent vers ZENworks.ZENKeyboard. La relation entre les deux classes est de type « un à un ». Cela signifie qu'un système informatique ne peut disposer que d'un seul clavier.
La classe ZENworks.BIOS s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemBIOS.PartComponent vers ZENworks.BIOS. La relation entre les deux classes est de type « un à un ». Cela signifie qu'un système informatique ne peut disposer que d'un seul BIOS.
La classe CIM.ZENworks.ParallelPort s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemDevice.PartComponent vers CIM.ZENworks.ParallelPort. La relation entre les deux classes est de type « un à plusieurs ». Cela signifie qu'un système informatique peut être doté de plusieurs ports parallèles.
La classe ZENworks.BUS s'associe à CIM.UnitaryComputerSystem via l'association CIM.SystemDevice, SystemDevice.GroupComponent pointant vers CIM.UnitaryComputerSystem et SystemBUS.PartComponent vers ZENworks.BUS. La relation entre les deux classes est de type « un à un ». Cela signifie qu'un système informatique ne peut disposer que d'un seul BUS.
La classe ManageWise.User dispose de deux associations avec CIM.UnitaryComputerSystem : CurrentLoginUser et LastLoginUser. Dans l'association CurrentLoginUser, l'instance spécifique de User (utilisateur) est celle qui est actuellement loguée au poste de travail inventorié. Dans l'association LastLoginUser, l'instance spécifique de User (utilisateur) est la dernière instance à s'être loguée au poste de travail inventorié.
La classe CIM.IRQ s'associe à CIM.ParallelPort via l'association CIM.AllocatedResource, Dependent pointant vers CIM.ParallelPort et Antecedent vers CIM.IRQ.
Un attribut d'inventaire personnalisé possède les qualificateurs suivants dans la base de données :
Les informations sur l'inventaire personnalisé sont stockées dans deux tables : ZENworks.CustomName et Zenworks.CustomValue.
La table ZENworks.CustomName contient le nom, l'ID, le type (non utilisé) de l'attribut ainsi que le nom de la classe. L'ID de l'attribut est automatiquement incrémenté lorsqu'un nouvel attribut personnalisé est stocké.
Vous trouverez ci-dessous un exemple de table ZENworks.CustomName :
ID | Nom | Nom de la classe |
---|---|---|
1 |
Cost |
ZENworks.VideoAdapter |
2 |
ProductUnit |
CIM.UnitaryComputerSystem |
La table Zenworks.CustomValue comprend l'ID de l'instance de l'objet, la valeur de l'attribut et la référence au nom de l'attribut personnalisé associé. Dans la table CustomValue, un attribut personnalisé peut avoir plusieurs valeurs pour différentes instances d'un objet Inventaire mais pas pour la même instance de cet objet.
Vous trouverez ci-dessous un exemple de table ZENworks.CustomValue :
ID | Instance | CID | Valeur |
---|---|---|---|
28147497671065605 |
1 |
1 |
200.39 |
28147497671065606 |
1 |
1 |
345 |
69147497671045662 |
1 |
2 |
BAY-2 |
Dans l'exemple précédent, la table CustomName inclut deux attributs personnalisés : Cost et ProductUnit. La table CustomValue comprend trois lignes : deux d'entre elles décrivent le prix de l'adaptateur vidéo et la troisième représente la valeur de l'attribut ProductUnit assignée directement à ComputerSystem.
Vous trouverez ci-après des exemples de requêtes destinées à récupérer des informations d'inventaire de la base de données d'inventaire ZfD.
Consultez les diagrammes de schémas qui figurent à la section Diagrammes du schéma CIM et des schémas d'extension dans ZfD pour connaître les classes de schéma associées et les informations relatives aux attributs.
SELECT u.id$,m.label,m.tree FROM managewise.NDSName
m,cim.UnitaryComputerSystem u,managewise.Designates s
where s.Designation=m.id$and s.HOST=u.id$
Dans cette requête, le nom de l'arborescence fait partie du nom du système informatique.
SELECT m.Tag as AssetTag,m.Manufacturer,m.SerialNumber as ModelNumber FROM cim.UnitaryComputerSystem u,zenworks.SystemInfo m,cim.ComputerSystemPackage s WHERE s.Antecedent=m.id$ and s.Dependent=u.id$
SELECT m.name,m.version,m.IdentifyingNumber FROM cim.Product m,cim.UnitaryComputerSystem u, zenworks.InstalledProduct s WHERE (s.Product=m.id$ and s.ComputerSystem=u.id$) AND u.name='SJOHN164_99_139_79.Novell_AUS'AND m.Vendor LIKE 'Microsoft%'
SELECT m.DeviceID,m.Family,m.Stepping,m.OtherFamilyDescription,m.MaxClockSpeed,m.CurrentClockSpeed,m.Role,m.UpgradeMethod FROM cim.Processor m,cim.UnitaryComputerSystem u,cim.ComputerSystemProcessor s WHERE (s.PartComponent=m.id$ and s.GroupComponent=u.id$) AND u.name='SJOHN164_99_139_79.Novell_AUS'
SELECT id$ FROM CIM.UnitaryComputerSystem u,ZENworks.InventoryScanner m, CIM.InstalledSoftwareElement s WHERE u.name='SJOHN164_99_139_79.Novell_AUS'AND m.id$=s.Software AND u.id$=s.System
SELECT count(u.*) FROM CIM.UnitaryComputerSystem u,ZENworks.InventoryScanner m, CIM.InstalledSoftwareElement s WHERE m.id$=s.Software AND u.id$=s.System
SSELECT m.DeviceID,m.Family,m.Stepping,m.OtherFamilyDescription,m.MaxClockSpeed,m.CurrentClockSpeed,m.Role,m.UpgradeMethod FROM cim.Processor m,cim.UnitaryComputerSystem u,cim.ComputerSystemProcessor s u.id$=? and s.PartComponent=m.id$ and s.GroupComponent=u.id$
Remplacez la valeur ? de l'u.id qui figure dans la requête par l'ID du poste de travail inventorié spécifié.
SELECT ip.Address, ipx.Address, mac.MACAddress FROM
cim.IPProtocolEndpoint ip, cim.IPXProtocolEndpoint ipx,
cim.LANEndpoint mac, cim.UnitaryComputerSystem u,
cim.HostedAccessPoint s WHERE (s.Dependent=ip.id$ and
s.Antecedent=u.id$) AND (s.Dependent=ipx.id$ and
s.Antecedent=u.id$) AND (s.Dependent=mac.id$ and
s.Antecedent=u.id$)
Modifiez cette requête de la manière suivante pour obtenir des informations pour un poste de travail inventorié spécifique :
SELECT ip.Address, ipx.Address, mac.MACAddress FROM
cim.IPProtocolEndpoint ip, cim.IPXProtocolEndpoint ipx,
cim.LANEndpoint mac, cim.UnitaryComputerSystem u,
cim.HostedAccessPoint s WHERE (s.Dependent=ip.id$ and
s.Antecedent=u.id$) AND (s.Dependent=ipx.id$ and
s.Antecedent=u.id$) AND (s.Dependent=mac.id$ and
s.Antecedent=u.id$)AND u.id$=?
Utilisez la requête comme indiqué à la requête n°5 pour récupérer l'ID du poste de travail inventorié spécifié et remplacez la valeur ? de l'u.id qui figure dans la requête par cet ID.
SELECT m.id$,n.id$,m.DeviceID,n.FileSystemSize,
n.AvailableSpace,m.VolumeSerialNumber,m.caption as
VolumeLabel, n.FileSystemType FROM
ZENworks.LogicalDiskDrive m,CIM.LocalFileSystem
n,CIM.HostedFileSystem s,CIM.ResidesOnExtent r WHERE
(s.GroupComponent=? and s.PartComponent=n.id$) AND
(r.Antecedent=m.id$and r.Dependent=n.id$)
SELECT * FROM Zenworks.CustomInformation
SELECT * FROM Zenworks.CustomInformation WHERE extractClass(id) IN (SELECT id FROM MW_DBA.t$Class WHERE ClassName='CIM.UnitaryComputerSystem')