ZENworks 6.5 Desktop Managementでのインベントリデータベーススキーマ

次の節では、データベーススキーマクラスおよびZENwork 6.5 Desktop Managementで使用するためのCIMスキーマの拡張と関連付けについて説明します。これらの拡張では、そのスキーマ名としてZENworksまたはManageWiseを使用します。ZENworks.classnameはZENworksスキーマの拡張クラスを示し、ManageWise.classnameはManageWiseスキーマの拡張クラスを示します。

次の節は、ZENworks 6.5デスクトップ管理データベーススキーマの理解に役立ちます。


ZENworks 6.5 Desktop ManagementでのCIMスキーマ実装のケーススタディ

次の構成は、特定の割り込み番号を持つ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.UnitaryComputerSystemとその関連付けのスキーマ図

スキーマ図は次の内容を示しています。

その他のクラスもすべて同様の表記に従います。その他のクラスのスキーマ図については、ZENworks 6.5 Desktop ManagementのCIMと拡張スキーマのスキーマ図を参照してください。


スキーマ図の凡例

スキーマ図を読むための凡例は次のとおりです。

CIMスキーマについての詳細は、DMTFのWebサイトにあるCIM 2.2スキーマの仕様を参照してください。


ZENworks 6.5 Desktop ManagementのCIMと拡張スキーマのスキーマ図

次のCIMと拡張スキーマのスキーマ図は、ZENworks 6.5 Desktop Managementのインベントリデータベースをモデリングしたものです。


プロセッサ、オペレーティングシステム、およびビデオアダプタのスキーマ
Inventory ScannerおよびNetWare Clientのスキーマ
シャシーおよびシステム情報のスキーマ
モニタのスキーマ
入力デバイス、ポート、ドライバ、ユーザ情報、およびBIOSのスキーマ
ストレージメディアのスキーマ
ネットワーク、モデム、およびサウンドアダプタのスキーマ
バッテリ、カード、キャッシュ、マザーボード、およびDMAのスキーマ
Remote Management監査のスキーマ


カスタムインベントリスキーマ

データベース内でカスタムインベントリ属性には次のクォリファイアがあります。

クォリファイア Description

Name

カスタム属性の名前。

カスタム属性に割り当てられた値。

Type

カスタム属性のデータタイプ。ZENworks 6.5 Desktop Managementでは、カスタム属性は「String」タイプとしてのみ処理されます。

ClassName

カスタム属性が関連付けられるインベントリクラス(テーブル)。

Instance

任意のカスタム属性に割り当てられた値の数。ZENworks 6.5 Desktop Managementでは、カスタム属性に複数の値を割り当てることはできません。

ID

カスタム属性が関連付けられるインベントリオブジェクトのID(id$)。

CID

カスタム属性名の固有ID。


カスタムインベントリのスキーマ

カスタムインベントリ情報は、ZENworks.CustomNameとZenworks.CustomValueの2つのテーブルに保存されます。

ZENworks.CustomNameテーブルには、属性名、ID、タイプ(使用しません)、およびクラス名が含まれています。新しいカスタム属性が保存されると、属性IDは自動的に増加します。

次のテーブルは、ZENworks.CustomNameテーブルの例です。

ID Name Class Name

1

Cost

ZENworks.VideoAdapter

2

ProductUnit

CIM.UnitaryComputerSystem

Zenworks.CustomValueテーブルには、オブジェクトインスタンスID、属性値、および関連付けられているカスタム属性名の参照が含まれています。CustomValueテーブルでは、カスタム属性にはインベントリオブジェクトの異なるインスタンスに複数の値を設定できますが、インベントリオブジェクトの同じインスタンスに複数の値を設定することはできません。

次のテーブルは、Zenworks.CustomValueテーブルの例です。

ID Instance CID

28147497671065605

1

1

200.39

28147497671065606

1

1

345

69147497671045662

1

2

BAY-2

前例では、CustomNameテーブルにはCostとProductUnitの2つのカスタム属性があります。CustomValueテーブルには3つの行があります。そのうち2つは、ビデオアダプタのコストを示し、3つめの行はComputerSystemに直接割り当てられたProductUnit属性の値を示しています。


ソフトウェアインベントリのスキーマ

この節のソフトウェアスキーマ図は、ZENworks 6.5 Desktop Managementのインベントリデータベ−スを示しています。次のスキーマ図は、CIM.UnitaryComputerSystemは管理対象のインベントリシステムを表しています。

テーブルの詳細については、 ZENworks 6.5 Desktop Managementインベントリ属性を参照してください。


ソフトウェアのスキーマ

この図では、クラス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、およびInstallationRepositoryに対する外部キーリファレンスがあります。

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.zfdserver

mw_dba.zfdinventoryserver

mw_dba.zfdagent

mw_dba.zfsserver

mw_dba.zfdinventoryagent

mw_dba.zfsagent

mw_dba.zfsinventoryserver

mw_dba.mspowerpoint

mw_dba.msphotodraw

mw_dba.zfsinventoryagent

mw_dba.msoutlook

mw_dba.zfdwsmanager

mw_dba.zfsrmserver

mw_dba.msaccess

mw_dba.zfdwsimportserver

mw_dba.zfsrmagent

mw_dba.mspublisher

mw_dba.zfdinvdbserver

mw_dba.zfdrmserver

mw_dba.msfrontpage

mw_dba.zfsinvdbserver

mw_dba.zfdrmagent

mw_dba.msinfopath

mw_dba.zfdinvxmlproxyserver

mw_dba.zfsinvxmlproxyserver

mw_dba.zfdimagingagent

mw_dba.zfdimagingserver

mw_dba.zfdnalagent

mw_dba.zfdnalserver

mw_dba.zfdnaldb

mw_dba.middletier

mw_dba.zfsmmsserver

mw_dba.zfspds

mw_dba.zfspxeserver

mw_dba.zfsmmssrvmgmtagent

mw_dba.zfsmmstrafficanalysisagent

mw_dba.zfsmmsadctrendingagent

mw_dba.zfspdsdb

mw_dba.zfhserver

mw_dba.zfhaccesspoin

mw_dba.zfhdesktopsync

 


ディスク使用状況のスキーマ

この図では、MW_DBA.DiskUsageにはCIM.UnitaryComputerSystem.IDに対するcomputerID列外部キー参照が含まれます。MW_DBA.DiskUsageテーブルには、ディスク使用の合計とファイル拡張子名が含まれます。


インベントリデータベースの照会例

次の照会例は、ZENworks 6.5 Desktop Managementインベントリデータベースからインベントリ情報を取得するためのものです。

関連付けられているスキーマクラスと属性の詳細については、ZENworks 6.5 Desktop ManagementのCIMと拡張スキーマのスキーマ図のスキーマ図を参照してください。

  1. データベースからすべてのインベントリ対象ワークステーションの名前とIDを取得し、これらのワークステーションが登録されているNovell eDirectoryTMツリーも取得します。次に、この照会を示します。
    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$;

    この照会では、ツリー名はコンピュータシステム名の一部です。

  2. データベース内のすべてのインベントリ対象ワークステーションの管理タグ、メーカー、モデル番号を取得します。次に、この照会を示します。
    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$;
  3. 'NOVELL_AUS' eDirectoryツリーに登録されているインベントリ対象ワークステーション'SJOHN164_99_139_79'にインストールされているすべてのMicrosoftアプリケーションおよびそのバージョンと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%';
  4. インベントリ対象ワークステーション'SJOHN164_99_139_79.NOVELL_AUS'のプロセッサ情報を取得します。次に、この照会を示します。
    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 )
    	  )
    	);
  5. インベントリ対象ワークステーション'SJOHN164_99_139_79.NOVELL_AUS'に使用するUnitaryComputerSystemのIDを取得します。次に、この照会を示します。
    SELECT 
      id$, 
    FROM 
      CIM.UnitaryComputerSystem
    WHERE 
      Name='SJOHN164_99_139_79.Novell_AUS';
  6. データベース内のインベントリ対象コンピュータの数を調べます。次に、この照会を示します。
    SELECT 
      count(u.id$) 
    FROM 
      CIM.UnitaryComputerSystem u,
      CIM.InstalledSoftwareElement s,
      ZENworks.InventoryScanner m
    WHERE 
      m.id$=s.Software AND u.id$=s.System;
  7. 照会例5に示されている照会によって、特定のインベントリ対象ワークステーションに使用するUnitaryComputerSystemのIDが判明すると、照会例4を次のように変更できます。
    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$」の値「?」と置き換えます。

  8. データベース内のすべてのワークステーションのIPアドレス、IPXアドレス、およびMACアドレスを一覧表示します。次に、この照会を示します。
    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$);
  9. 指定されたインベントリ対象ワークステーションのハードディスクのドライブの名前とその他のプロパティを取得します。次に、この照会を示します。
    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$);
  10. データベースに保存されているすべてのカスタム属性情報を取得します。次に、この照会を示します。
    SELECT * FROM ZENworks.CustomInformation;
  11. クラスCIM.UnitaryComputerSystemに関連付けられているすべてのカスタム属性情報を取得します。次に、この照会を示します。
    SELECT
      * 
    FROM
      ZENworks.CustomInformation 
    WHERE 
      extractClass(id) IN  
      (SELECT id FROM MW_DBA.t$Class WHERE  
    ClassName='CIM.UnitaryComputerSystem')
  12. 企業内のすべてのMicrosoft Officeインストールを取得します。次に、この照会を示します。
    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$;
  13. 企業内のすべてのInternet Explorerインストールを取得します。次に、この照会を示します。
    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などのコンポーネントにも使用できます。これらのテーブルの完全なセットをスキーマで使用できます。

  14. 企業内のアンチウィルスインストールをすべて取得します。次に、この照会を示します。
    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$;
  15. インベントリ対象ワークステーション'SJOHN164_99_139_79.NOVELL_AUS'にインストールされているすべてのアプリケーションと、そのアプリケーションの関連ファイルの詳細情報を取得します。次に、この照会を示します。
    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;
  16. 有効なソフトウェアに関連付けられていないインベントリ対象ワークステーション'SJOHN164_99_139_79.NOVELL_AUS'上のすべてのファイルを取得します。次に、この照会を示します。
    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;
  17. 企業内の各インベントリコンピュータ上で、既知の拡張子を持つファイルによるディスク使用状況の詳細を取得します。次に、この照会を示します。
    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;