次の節では、データベーススキーマクラスおよびZENworks 6.5 Server Managementで使用するためのCIMスキーマの拡張と関連付けについて説明します。これらの拡張では、そのスキーマ名としてZENworksまたはManageWiseを使用します。ZENworks.classnameはZENworksスキーマの拡張クラスを示し、ManageWise.classnameはManageWiseスキーマの拡張クラスを示します。
次の節は、ZENworks 6.5 Server Managementデータベーススキーマの理解に役立ちます。
次の構成は、特定の割り込み番号を持つ2つのパラレルポートを備えたインベントリ対象サーバを示しています。
次のスキーマ図で、CIM.UnitaryComputerSystemは管理対象のインベントリシステムを表します。
この図では、クラスCIM.PointingDeviceは、CIM.UnitaryComputerSystemを参照するSystemDevice.GroupComponentとCIM.PointingDeviceを参照するSystemDevice.PartComponentの関連付けCIM.SystemDeviceによって、CIM.UnitaryComputerSystemに関連付けられています。この2つのクラスの関係は1対多です。つまり、コンピュータシステムには複数のポインティングデバイスを接続できます。
クラスCIM.IRQは、関連付けCIM.AllocatedResourceによってCIM.PointingDeviceに関連付けられています。DependentはCIM.PointingDeviceを参照し、AntecedentはCIM.IRQを参照します。
クラスZENworks.ZENKeyboardは、CIM.UnitaryComputerSystemを参照するSystemDevice.GroupComponentとZENworks.ZENKeyboardを参照するSystemDevice.PartComponentの関連付けCIM.SystemDeviceによって、CIM.UnitaryComputerSystemに関連付けられています。この2つのクラスの関係は1対1です。つまり、コンピュータシステムにはキーボードを1台だけ接続できます。
クラスZENworks.BIOSは、CIM.UnitaryComputerSystemを参照するSystemDevice.GroupComponentとZENworks.BIOSを参照するSystemBIOS.PartComponentの関連付けCIM.SystemBIOSによって、CIM.UnitaryComputerSystemに関連付けられています。この2つのクラスの関係は1対1です。つまり、コンピュータシステムはBIOSを1つだけ持つことができます。
クラスCIM.ZENworks.ParallelPortは、CIM.UnitaryComputerSystemを参照するSystemDevice.GroupComponentとCIM.ZENworks.ParallelPortを参照するSystemDevice.PartComponentの関連付けCIM.SystemDeviceによって、CIM.UnitaryComputerSystemに関連付けられています。この2つのクラスの関係は1対多です。つまり、コンピュータシステムは複数のパラレルポートを持つことができます。
クラスZENworks.BUSは、CIM.UnitaryComputerSystemを参照するSystemDevice.GroupComponentとZENworks.BUSを参照するSystemDevice.PartComponentの関連付けCIM.SystemDeviceによって、CIM.UnitaryComputerSystemに関連付けられています。この2つのクラスの関係は1対多です。つまり、コンピュータシステムはバスを複数持つことができます。
クラスManageWise.Userは、CurrentLoginUserとLastLoginUserによってCIM.UnitaryComputerSystemに関連付けられています。CurrentLoginUserでは、Userの特定のインスタンスは、インベントリ対象サーバに現在ログインしているユーザを表します。LastLoginUserでは、Userの特定のインスタンスは、インベントリ対象サーバに最後にログインしたユーザを表します。
クラスCIM.IRQは、関連付けCIM.AllocatedResourceによってCIM.ParallelPortに関連付けられています。DependentはCIM.ParallelPortを参照し、AntecedentはCIM.IRQを参照します。
スキーマ図は次の内容を示しています。
CIM.SystemDeviceの関連付けのインスタンスを3つ使用するCIM.UnitaryComputerSystemの1つのインスタンスには、ZENworks.ParallelPortのインスタンスが3つ関連付けられています。CIM.SystemDevice.GroupComponentはUnitaryComputerSystemを参照し、CIM.SystemDevice.PartComponentはParallelPortを参照します。
これは、1対nオブジェクト参照関係と呼ばれ、図では「1..*」として示されています。同様に、ParallelPortのすべてのインスタンスには、ポートのirqを指定するCIM.IRQに対応するインスタンスがあります。これは1対1の関係で、図では1..1として示されています。
その他のクラスもすべて同様の表記に従います。
その他のクラスのスキーマ図については、ZENworks 6.5 Server ManagementのCIMと拡張スキーマのスキーマ図を参照してください。
スキーマ図を読むための凡例は次のとおりです。
CIMスキーマについての詳細は、DMTFのWebサイトにあるCIM 2.2スキーマの仕様を参照してください。
次のCIMと拡張スキーマのスキーマ図は、ZENworks 6.5 Server Managementのインベントリデータベースをモデリングしたものです。
次のソフトウェアスキーマ図は、ZENworks 6.5 Server Managementのインベントリデータベースをモデリングしたものです。次のスキーマ図で、CIM.UnitaryComputerSystemは管理対象のインベントリシステムを表します。
テーブルに関する詳細については、ZENworks 6.5 Server ManagementのInventory属性を参照してください。
この図では、クラスMW_DBA.Softwareは、CIM.UnitaryComputerSystemを参照するMW_DBA.InstalledSoftware.ComputerSystemとMW_DBA.Softwareを参照するMW_DBA.InstalledSoftware.ProductIDの関連付けMW_DBA.InstalledSoftwareによって、CIM.UnitaryComputerSystemに関連付けられています。この2つのクラスの関係は1対多です。つまり、コンピュータシステムは複数のソフトウェア情報を持つことができます。
関連付けMW_DBA.InstalledSoftwareには、テーブルProductEdition、SupportPack、Directory、およびInstallation Repositoryに対する外部キーリファレンスがあります。
MW_DBA.InstalledVirusScannerは、ウィルス定義の日付やバージョンなどのウィルス固有の情報と共にソフトウェア情報をMW_DBA.InstalledSoftwareから継承します。
この図では、クラスMW_DBA.Patchは、MW_DBA.InstalledSoftwareを参照するMW_DBA.InstalledSoftwarePatch.pinstanceIDとMW_DBA.Patchを参照するMW_DBA.InstalledSoftwarePatch.PatchIDの関連付けMW_DBA.InstalledSoftwarePatchによって、MW_DBA.InstalledSoftwareに関連付けられています。この2つのクラスの関係は1対多です。つまり、ソフトウェアはパッチ情報を持たないか、1つ以上のパッチ情報を持つことができます。
この図では、クラスMW_DBA.Fileは、MW_DBA.InstalledSoftwareを参照するMW_DBA.InstalledFile.pinstanceIDとMW_DBA.Fileを参照するMW_DBA.InstalledFile.fileIDの関連付けMW_DBA.InstalledFileによって、MW_DBA.InstalledSoftwareに関連付けられています。この2つのクラスの関係は1対多です。つまり、ソフトウェアはパッチ情報を持たないか、1つ以上のパッチ情報を持つことができます。
この図では、クラスMW_DBA.Directoryは、MW_DBA.InstalledSoftwareを参照するMW_DBA.InstalledFile.pinstanceIDとMW_DBA.Directoryを参照するMW_DBA.InstalledFile.DirectoryIDの関連付けMW_DBA.InstalledFileによって、MW_DBA.InstalledSoftwareに関連付けられています。
この図では、MW_DBA.MSofficeはMW_DBA.SOftwareからソフトウェア情報を継承します。このサブクラスは、MS office情報を直接取得します。
これは次の各クラスにも当てはまります。
この図では、MW_DBA.DiskUsageにはCIM.UnitaryComputerSystem.IDに対するcomputerID列外部キー参照が含まれます。MW_DBA.DiskUsageテーブルには、ディスク使用の合計とファイル拡張子名が含まれます。
次の照会例は、ZENworks 6.5 Server Managementインベントリデータベースからインベントリ情報を取得するためのものです。
関連付けられているスキーマクラスと属性の詳細については、ZENworks 6.5 Server ManagementのCIMと拡張スキーマのスキーマ図のスキーマ図を参照してください。
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$;
この照会では、ツリー名はコンピュータシステム名の一部です。
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 )
)
);
指定されたインベントリ対象サーバのIDを、照会の「ucs.id$」の値「?」と置き換えます。
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$;
注: 照会12および13では、コンポーネントに関連するテーブル以外は、ほとんど同じ構文に従います。類似するアプローチを、 Windows Media Player、Outlook Express、Microsoft Word、Microsoft Excelなどのコンポーネントにも使用できます。これらのテーブルはすべてスキーマで利用できます。
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;