En la sección siguiente se describen las clases de esquemas de bases de datos y las extensiones y las asociaciones realizadas en el esquema CIM para su utilización en ZENworks 7 Desktop Management. El nombre de esquema de estas extensiones es ZENworks o ManageWise. ZENworks.nombreclase se refiere a la clase extendida en el esquema ZENworks y ManageWise.nombreclase se refiere a la clase extendida en el esquema ManageWise.
En las secciones siguientes obtendrá ayuda para comprender el esquema de la base de datos de ZENworks 7 Desktop Management.
En la situación siguiente se describe una estación de trabajo de inventario que tiene dos puertos en paralelo con un número de interrupción especificado.
En el diagrama de esquema siguiente, CIM.UnitaryComputerSystem representa un sistema de inventario gestionado.
En esta ilustración, la clase CIM.PointingDevice se asocia a CIM.UnitaryComputerSystem mediante la asociación CIM.SystemDevice, con SystemDevice.GroupComponent señalando a CIM.UnitaryComputerSystem y SystemDevice.PartComponent señalando a CIM.PointingDevice. La relación entre las dos clases es de uno a varios. Esto significa que un sistema de computación puede tener más de un puntero.
La clase CIM.IRQ se asocia a CIM.PointingDevice mediante la asociación CIM.AllocatedResource, con Dependent señalando a CIM.PointingDevice y Antecedent señalando a CIM.IRQ.
La clase ZENworks.ZENKeyboard se asocia a CIM.UnitaryComputerSystem mediante la asociación CIM.SystemDevice, con SystemDevice.GroupComponent señalando a CIM.UnitaryComputerSystem y SystemDevice.PartComponent señalando a ZENworks.ZENKeyboard. La relación entre las dos clases es de uno a uno. Esto significa que un sistema de computación sólo puede tener un teclado.
La clase ZENworks.BIOS se asocia a CIM.UnitaryComputerSystem mediante la asociación CIM.SystemBIOS, con SystemDevice.GroupComponent señalando a CIM.UnitaryComputerSystem y SystemBIOS.PartComponent señalando a ZENworks.BIOS. La relación entre las dos clases es de uno a uno. Esto significa que un sistema de computación sólo puede tener un BIOS.
La clase CIM.ZENworks.ParallelPort se asocia a CIM.UnitaryComputerSystem mediante la asociación CIM.SystemDevice, con SystemDevice.GroupComponent señalando a CIM.UnitaryComputerSystem y SystemDevice.PartComponent señalando a CIM.ZENworks.ParallelPort. La relación entre las dos clases es de uno a varios. Esto significa que un sistema de computación puede tener más de un puerto en paralelo.
La clase ZENworks.BUS se asocia a CIM.UnitaryComputerSystem mediante la asociación CIM.SystemDevice, con SystemDevice.GroupComponent señalando a CIM.UnitaryComputerSystem y SystemDevice.PartComponent señalando a ZENworks.BUS. La relación entre las dos clases es de uno a varios. Esto significa que un sistema de computación puede tener más de un bus.
La clase ManageWise.User se asocia a CIM.UnitaryComputerSystem mediante CurrentLoginUser y LastLoginUser. En la asociación CurrentLoginUser, la instancia específica de User corresponde a quien ha entrado actualmente en la estación de trabajo incluida en el inventario. En la asociación LastLoginUser, la instancia específica de User corresponde a quien ha entrado en último lugar en la estación de trabajo de inventario.
La clase CIM.IRQ se asocia a CIM.ParallelPort mediante la asociación CIM.AllocatedResource, con Dependent señalando a CIM.ParallelPort y Antecedent señalando a CIM.IRQ.
El diagrama del esquema ilustra lo siguiente:
Hay tres instancias de ZENworks.ParallelPort asociadas a una instancia de CIM.UnitaryComputerSystem empleando tres instancias de asociaciones CIM.SystemDevice. CIM.SystemDevice.GroupComponent hace referencia a UnitaryComputerSystem y CIM.SystemDevice.PartComponent hace referencia a ParallelPort.
Esto se denomina relación de referencia de objeto 1 a n y se representa en la ilustración como 1..*. De modo similar, cada instancia de ParallelPort tiene una instancia correspondiente de CIM.IRQ que designa el IRQ del puerto. Esta es una relación de uno a uno y se representa como 1..1.
Todas las demás clases siguen una representación similar. Para ver los diagramas de esquema de otras clases, consulte Diagramas de esquema de CIM y esquema de extensión en Gestión de escritorios de ZENworks 7.
Las leyendas para leer los diagramas de esquemas son las siguientes:
Para obtener una explicación del esquema CIM, consulte la especificación de esquema CIM 2.2 en el sitio Web de DMTF.
Los diagramas de esquema siguientes de CIM y el esquema de extensión modelan la base de datos de inventario en Gestión de escritorios de ZENworks 7.
Un atributo de inventario personalizado tiene los calificadores siguientes en la base de datos:
Tabla 75-1 Calificadores para los atributos de inventario personalizado
La información de inventario personalizada se almacena en dos tablas: ZENworks.CustomName y Zenworks.CustomValue.
La tabla ZENworks.CustomName contiene el nombre del atributo, el ID, el tipo (no se utiliza) y el nombre de la clase. El ID de atributo se incrementa automáticamente cuando se almacena un nuevo atributo personalizado.
A continuación se muestra un ejemplo de tabla ZENworks.CustomName:
La tabla Zenworks.CustomValue contiene el ID de instancia de objeto, el valor de atributo y la referencia al nombre de atributo personalizado asociado. En la tabla CustomValue, un atributo personalizado puede tener varios valores para instancias diferentes de un objeto de inventario, pero no para la misma instancia del objeto de inventario.
A continuación se muestra un ejemplo de tabla Zenworks.CustomValue:
ID |
Instance |
CID |
Valor |
---|---|---|---|
28147497671065605 |
1 |
1 |
200.39 |
28147497671065606 |
1 |
1 |
345 |
69147497671045662 |
1 |
2 |
BAY-2 |
En el ejemplo anterior, la tabla CustomName tiene dos atributos personalizados, Cost y ProductUnit. Hay tres filas en la tabla CustomValue; dos de ellas describen el coste del adaptador de vídeo y la tercera es el valor del atributo ProductUnit asignado directamente a ComputerSystem.
Los diagramas de esquema de software siguientes modelan la base de datos de inventario en ZENworks 7 Desktop Management. En el diagrama de esquema siguiente, CIM.UnitaryComputerSystem representa un sistema de inventario gestionado.
Para obtener más información acerca de las tablas, consulte Sección N.0, Atributos de inventario de Gestión de escritorios de ZENworks 7.
En la ilustración anterior, la clase MW_DBA.Software se asocia a CIM.UnitaryComputerSystem mediante la asociación MW_DBA.InstalledSoftware con MW_DBA.InstalledSoftware.ComputerSystem señalando a CIM.UnitaryComputerSystem y MW_DBA.InstalledSoftware.ProductID señalando a MW_DBA.Software. La relación entre las dos clases es de uno a varios. Esto significa que un sistema de computación puede tener más de una información de software.
La asociación MW_DBA.InstalledSoftware tiene referencias de clave externa a las tablas siguientes: ProductEdition, SupportPack, Directorio (Directory) y Repositorio de instalación (Installation Repository).
MW_DBA.InstalledVirusScanner hereda la información de software de MW_DBA.InstalledSoftware junto con información específica de virus, como la fecha y la versión de definición.
En la ilustración anterior, la clase MW_DBA.Patch se asocia a MW_DBA.InstalledSoftware mediante la asociación MW_DBA.InstalledSoftwarePatch con MW_DBA.InstalledSoftwarePatch.pinstanceID señalando a MW_DBA.InstalledSoftware y MW_DBA.InstalledSoftwarePatch.PatchID señalando a MW_DBA.Patch. La relación entre las dos clases es de uno a varios. Esto significa que un software puede tener ninguna o diversa información de revisiones.
En la ilustración anterior, la clase MW_DBA.File se asocia a MW_DBA.InstalledSoftware mediante la asociación MW_DBA.InstalledFile con MW_DBA.InstalledFile.pinstanceID señalando a MW_DBA.InstalledSoftware y MW_DBA.InstalledFile.fileID señalando a MW_DBA.File. La relación entre las dos clases es de uno a varios. Esto significa que un software puede tener ninguna o diversa información de revisiones.
En esta ilustración, la clase MW_DBA.Directory se asocia a MW_DBA.InstalledSoftware mediante la asociación MW_DBA.InstalledFile con MW_DBA.InstalledFile.pinstanceID señalando a MW_DBA.InstalledSoftware y MW_DBA.InstalledFile.DirectoryID señalando a MW_DBA.Directory.
En las ilustraciones anteriores, MW_DBA.MSoffice hereda la información de software de MW_DBA.SOftware. Esta subclase obtiene directamente la información de MS Office. Esto también es aplicable a las clases siguientes:
En la ilustración anterior, MW_DBA.DiskUsage tiene las referencias de clave externa de la columna computerID a CIM.UnitaryComputerSystem.ID. La tabla MW_DBA.DiskUsage contiene el uso total del disco y la extensión de archivo.
A continuación se muestran ejemplos de consultas para recuperar la información de inventario de la base de datos de inventario de ZENworks 7 Desktop Management.
Consulte los diagramas de esquema en Diagramas de esquema de CIM y esquema de extensión en Gestión de escritorios de ZENworks 7 para averiguar las clases de esquema asociadas y la información de atributos.
SELECT
u.id$, u.name, m.tree
FROM
ManageWise.NDSName m,
CIM.UnitaryComputerSystem u,
ManageWise.Designates s
WHERE
s.Designation=m.id$ AND s.Host=u.id$;
En la consulta anterior, el nombre del árbol forma parte del nombre del sistema de computación.
SELECT
m.AssetTag,
m.Manufacturer,
m.ModelNumber,
m.SerialNumber
FROM
CIM.UnitaryComputerSystem u,
CIM.ComputerSystemPackage s,
ZENworks.SystemInfo m
WHERE
s.Antecedent=m.id$ AND s.Dependent=u.id$;
SELECT
m.Name,
m.Version,
im.ProductIdentifier
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.InstalledSoftware im,
MW_DBA.Software m
WHERE
u.Name=’SJOHN164_99_139_79.Novell_AUS’ AND
(im.computerid=u.id$ and im.productid=m.productid)
AND m.Vendor LIKE ’Microsoft%’;
SELECT
procr.DeviceID,
role.EnumString,
family.EnumString,
procr.OtherFamilyDescription,
upg.EnumString,
procr.MaxClockSpeed,
procr.CurrentClockSpeed,
procr.Stepping
FROM
CIM.UnitaryComputerSystem ucs,
CIM.ComputerSystemProcessor csp,
CIM.Processor procr,
CIM.Role_en_US role,
CIM.Family_en_US family,
CIM.UpgradeMethod_en_US upg
WHERE
ucs.name=’SJOHN164_99_139_79.Novell_AUS’ AND
csp.PartComponent=procr.id$ AND
(
(
( procr.Role IS NOT NULL AND procr.Role=role.Enum ) OR
( procr.Role IS NULL AND role.Enum=1000 )
)
AND
procr.Family=family.Enum
AND
(
( procr.UpgradeMethod IS NOT NULL AND procr.UpgradeMethod=upg.Enum ) OR
( procr.UpgradeMethod IS NULL AND upg.Enum=1000 )
)
);
SELECT
id$
FROM
CIM.UnitaryComputerSystem
WHERE
Name=’SJOHN164_99_139_79.Novell_AUS’;
SELECT
count(u.id$)
FROM
CIM.UnitaryComputerSystem u,
CIM.InstalledSoftwareElement s,
ZENworks.InventoryScanner m
WHERE
m.id$=s.Software AND u.id$=s.System;
SELECT
procr.DeviceID,
role.EnumString,
family.EnumString,
procr.OtherFamilyDescription,
upg.EnumString,
procr.MaxClockSpeed,
procr.CurrentClockSpeed,
procr.Stepping
FROM
CIM.UnitaryComputerSystem ucs,
CIM.ComputerSystemProcessor csp,
CIM.Processor procr,
CIM.Role_en_US role,
CIM.Family_en_US family,
CIM.UpgradeMethod_en_US upg
WHERE
ucs.id$ = ? AND
csp.PartComponent=procr.id$ AND
(
(
( procr.Role IS NOT NULL AND procr.Role=role.Enum ) OR
( procr.Role IS NULL AND role.Enum=1000 )
)
AND
procr.Family=family.Enum
AND
(
( procr.UpgradeMethod IS NOT NULL AND procr.UpgradeMethod=upg.Enum ) OR
( procr.UpgradeMethod IS NULL AND upg.Enum=1000 )
)
);
Sustituya el ID de la estación de trabajo de inventario especificada en lugar de ?, valor de ucs.id$ en la consulta.
SELECT
u.name,
ip.Address,
ipx.Address,
mac.MACAddress
FROM
CIM.UnitaryComputerSystem u,
CIM.HostedAccessPoint s1,
CIM.IPProtocolEndpoint ip,
CIM.HostedAccessPoint s2,
CIM.IPXProtocolEndpoint ipx,
CIM.HostedAccessPoint s3,
CIM.LANEndpoint mac
WHERE
(s1.Dependent=ip.id$ and s1.Antecedent=u.id$) AND
(s2.Dependent=ipx.id$ and s2.Antecedent=u.id$) AND
(s3.Dependent=mac.id$ and s3.Antecedent=u.id$);
SELECT
n.Name,
m.DeviceID,
n.FileSystemSize,
n.AvailableSpace,
n.FileSystemType,
m.VolumeSerialNumber,
m.caption as VolumeLabel
FROM
CIM.HostedFileSystem s,
CIM.LocalFileSystem n,
CIM.ResidesOnExtent r,
ZENworks.LogicalDiskDrive m
WHERE
(s.GroupComponent=? and s.PartComponent=n.id$) AND
(r.Dependent=n.id$ and r.Antecedent=m.id$);
SELECT * FROM ZENworks.CustomInformation;
SELECT
*
FROM
ZENworks.CustomInformation
WHERE
extractClass(id) IN
(SELECT id FROM MW_DBA.t$Class WHERE ClassName=’CIM. UnitaryComputerSystem’)
SELECT
u.name,
m.FriendlyName,
im.InternalVersion,
im.ProductIdentifier
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.InstalledSoftware im,
MW_DBA.Software m,
MW_DBA.MSOffice mso
WHERE
mso.id$=m.productid AND
m.productid=im.productid AND
im.computerid=u.id$;
SELECT
u.Name,
m.Name,
m.Version,
im.InternalVersion,
im.ProductIdentifier
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.InstalledSoftware im,
MW_DBA.Software m,
MW_DBA.InternetExplorer ie
WHERE
ie.id$=m.productid AND
m.productid=im.productid AND
im.computerid=u.id$;
NOTA:las consultas 12 y 13 siguen prácticamente la misma sintaxis excepto en la tabla relacionada con el componente. Un enfoque similar se puede usar también para componentes como Windows Media Player, Outlook Express, Microsoft Word y Microsoft Excel. El conjunto completo de estas tablas está disponible en el esquema.
SELECT
u.Name,
m.Name,
m.Version,
im.InternalVersion,
ivs.DefinitionVersion,
ivs.DefinitionDate
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.InstalledSoftware im,
MW_DBA.Software m,
MW_DBA.InstalledVirusScanner ivs
WHERE
ivs.pinstanceid=im.pinstanceid AND
m.productid=im.productid AND
im.computerid=u.id$;
SELECT
u.Name,
m.Name,
m.Version,
m.Category,
zfile.company,
zfile.productname,
zfile.productversion,
zfile.name,
dir.path,
zfile.fileversion,
zfile."size",
zfile.lastmodified,
zfile.internalname,
zfile.softwaredictionaryid
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.InstalledSoftware iso,
MW_DBA.Software m,
MW_DBA.InstalledFile ifile,
MW_DBA."file" zfile,
MW_DBA.Directory dir
WHERE
u.Name=’SJOHN164_99_139_79.Novell_AUS’ AND
iso.computerid=u.id$ AND
iso.productid=m.productid AND
iso.pinstanceid=ifile.pinstanceid AND
ifile.directoryid=dir.id AND
ifile.fileid=zfile.id;
SELECT
u.Name,
zfile.name,
dir.path,
zfile.fileversion,
zfile."size",
zfile.lastmodified,
zfile.internalname,
zfile.productversion,
zfile.company,
zfile.productname
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.InstalledFile ifile,
MW_DBA."file" zfile,
MW_DBA.Directory dir
WHERE
u.Name=’SJOHN164_99_139_79.Novell_AUS’ AND
u.id$=ifile.computerid AND
ifile.fileid=zfile.id AND
ifile.directoryid=dir.id AND
ifile.pinstanceid is null;
SELECT
u.Name,
du.Name,
du.TotalDiskUsage
FROM
CIM.UnitaryComputerSystem u,
MW_DBA.DiskUsage du
WHERE
u.id$=du. Computerid AND
du.Name is not null;