75.3 Esquema de banco de dados de Inventário no ZENworks 7 Desktop Management

A seção a seguir descreve as classes de esquema de banco de dados e as extensões e as associações feitas no esquema CIM para uso no ZENworks 7 Desktop Management. Essas extensões têm ZENworks ou ManageWise como nome de esquema. ZENworks.nomedeclasse refere-se à classe estendida no esquema ZENworks e ManageWise.nomedeclasse refere-se à classe estendida no esquema ManageWise.

As seções a seguir ajudarão a compreender o esquema de banco de dados do ZENworks 7 Desktop Management:

75.3.1 Estudo de caso de implementação de esquema CIM no ZENworks 7 Desktop Management

O cenário a seguir descreve uma estação de trabalho inventariada que tem duas portas paralelas com um número de interrupção especificado.

No diagrama de esquema a seguir, CIM.UnitaryComputerSystem representa um sistema gerenciado de inventário.

Na ilustração, a classe CIM.PointingDevice associa-se a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice, com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e com SystemDevice.PartComponent apontando para CIM.PointingDevice. O relacionamento entre as duas classes é de um para muitos. Isso significa que um sistema de computador pode ter mais de um dispositivo apontador.

A classe CIM.IRQ se associa ao CIM.PointingDevice usando a associação CIM.AllocatedResource. Dependent aponta para CIM.PointingDevice e Antecedent aponta para CIM.IRQ.

A classe ZENworks.ZENKeyboard associa-se a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice, com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e com SystemDevice.PartComponent apontando para ZENworks.ZENKeyboard. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador só pode ter um teclado.

A classe ZENworks.BIOS associa-se a CIM.UnitaryComputerSystem usando a associação CIM.SystemBIOS, com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e com SystemBIOS.PartComponent apontando para ZENworks.BIOS. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador só pode ter um BIOS.

A classe CIM.ZENworks.ParallelPort associa-se a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com o SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e com SystemDevice.PartComponent apontando para CIM.ZENworks.ParallelPort. O relacionamento entre as duas classes é de um para muitos. Isso significa que um sistema de computador pode ter mais de uma porta paralela.

A classe ZENworks.BUS associa-se a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice, com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e com SystemDevice.PartComponent apontando para ZENworks.BUS. O relacionamento entre as duas classes é de um para muitos. Isso significa que um sistema de computador pode ter mais de um barramento.

A classe ManageWise.User associa-se a CIM.UnitaryComputerSystem usando CurrentLoginUser e LastLoginUser. Na associação CurrentLoginUser, a instância específica de User é o usuário que está conectado no momento na estação de trabalho inventariada. Na associação LastLoginUser, a instância específica de User é o último usuário que efetuou login na estação de trabalho inventariada.

A classe CIM.IRQ se associa ao CIM.ParallelPort usando a associação CIM.AllocatedResource. Dependent aponta para CIM.ParallelPort e Antecedent aponta para CIM.IRQ.

Diagrama de esquema de CIM.UnitaryComputerSystem e suas associações

O diagrama de esquema ilustra o seguinte:

  • Todos os componentes que um sistema de computador gerencia são representados como associações da classe UnitaryComputerSystem. O tipo de referência (1..n, 1..1) entre duas classes é marcado.
  • As associações que não têm um nome de esquema são assumidas como esquema CIM.

    Há três instâncias de ZENworks.ParallelPort associadas a uma instância de CIM.UnitaryComputerSystem utilizando três instâncias de associações CIM.SystemDevice. CIM.SystemDevice.GroupComponent faz referência a UnitaryComputerSystem, e CIM.SystemDevice.PartComponent faz referência a ParallelPort.

    Isso é chamado de relacionamento de referência de 1 para n objetos e está representado na ilustração como 1..*. De modo similar, cada instância de ParallelPort tem uma instância correspondente de CIM.IRQ designando o IRQ da porta. Esse é um relacionamento de um para um e está representado como 1..1.

Todas as demais classes seguem uma representação semelhante. Para obter diagramas de esquema de outras classes, consulte Diagramas de esquema do CIM e o esquema de extensão no ZENworks 7 Desktop Management.

75.3.2 Legendas dos diagramas de esquema

As legendas para a leitura dos diagramas de esquema são as seguintes:

  • Os nomes de classe são colocados em caixas, que contêm o nome da classe como título e os nomes dos atributos.
  • As linhas vermelhas conectam duas classes usando uma classe de associação.
  • As linhas azuis indicam a hierarquia de herança de classe. A classe apontada pela seta é a classe de origem da herança. A classe da qual a seta se origina é a classe que está herdando.
  • O nome da classe de associação é mostrado na linha que une duas classes.
  • As referências à classe de associação são marcadas em cada lado das classes associadas.

Para obter uma explicação sobre o esquema CIM, consulte a especificação de esquema CIM 2.2 no site da DMTF na Web.

75.3.3 Diagramas de esquema do CIM e o esquema de extensão no ZENworks 7 Desktop Management

Os diagramas de esquema do CIM e o esquema de extensão a seguir modelam o banco de dados de Inventário no ZENworks 7 Desktop Management.

Esquema para processador, sistemas operacionais e adaptador de vídeo
Esquema para scanner de inventário e NetWare Client
Esquema para chassi e informações do sistema
Esquema para monitor
Esquema para dispositivos de entrada, porta, driver, informações sobre usuário e BIOS
Esquema para mídia de armazenamento
Esquema para rede, modem e adaptador de som
Esquema para bateria, placa, cache, placa-mãe e DMA
Esquema para Auditoria do Gerenciamento Remoto

75.3.4 Esquema de inventário personalizado

Um atributo de inventário personalizado tem os seguintes qualificadores no banco de dados:

Tabela 75-1 Qualificadores de atributos de inventário personalizados

Qualificador

Descrição

Nome

O nome do atributo personalizado

Valor

O valor atribuído ao atributo personalizado

Tipo

O tipo de dado do atributo personalizado. O ZENworks 7 Desktop Management trata todos os atributos personalizados apenas como um tipo “String”.

Nome de Classe

A Classe de Inventário (tabela) ao qual o atributo personalizado está associado.

Instância

O número de valores atribuídos a determinado atributo personalizado. No ZENworks 7 Desktop Management, não é possível ter mais de um valor para um atributo personalizado.

ID

A identificação (id$) do objeto Inventário ao qual o atributo personalizado está associado.

CID

O ID exclusivo do nome do atributo personalizado.

Esquema para inventário personalizado

As informações do inventário personalizado são armazenadas em duas tabelas: ZENworks.CustomName e Zenworks.CustomValue.

A tabela ZENworks.CustomName contém o nome do atributo, o ID, o tipo (não utilizado) e o nome da classe. O ID do atributo é incrementado automaticamente quando um novo atributo personalizado é armazenado.

A seguir, um exemplo da tabela ZENworks.CustomName:

ID

Nome

Nome da Classe

1

Custo

ZENworks.VideoAdapter

2

UnidadeProduto

CIM.UnitaryComputerSystem

A tabela Zenworks.CustomValue contém o ID da instância do objeto, o valor do atributo e a referência ao nome do atributo personalizado que está associado. Na tabela CustomValue, um atributo personalizado pode ter vários valores para diferentes instâncias de um objeto de inventário, mas não para a mesma instância do objeto de inventário.

A seguir, um exemplo da tabela Zenworks.CustomValue:

ID

Instância

CID

Valor

28147497671065605

1

1

200.39

28147497671065606

1

1

345

69147497671045662

1

2

BAY-2

No exemplo anterior, a tabela CustomName tem dois atributos personalizados, Cost e ProductUnit. Há três linhas na tabela CustomValue; duas delas descrevem o custo do adaptador de vídeo, e a terceira é o valor do atributo ProductUnit atribuído diretamente a ComputerSystem.

75.3.5 Esquema de inventário do software

Os diagramas de esquema do software a seguir fornecem um modelo do banco de dados de Inventário no ZENworks 7 Desktop Management. No diagrama a seguir, CIM.UnitaryComputerSystem representa um sistema de inventário gerenciado.

Para obter mais informações sobre as tabelas, consulte o Seção N.0, Atributos de Inventário do ZENworks 7 Desktop Management.

Esquema para software

Na ilustração acima, a classe MW_DBA.Software associa-se a CIM.UnitaryComputerSystem usando a associação MW_DBA.InstalledSoftware, com MW_DBA.InstalledSoftware.ComputerSystem apontando para CIM.UnitaryComputerSystem e MW_DBA.InstalledSoftware.ProductID apontando para MW_DBA.Software. O relacionamento entre as duas classes é de um para muitos. Isso significa que um sistema de computador pode ter mais de uma informação de software.

A associação MW_DBA.InstalledSoftware tem referências FK (Foreign Key) para as seguintes tabelas: ProductEdition, SupportPack, Directory e InstallationRepository.

MW_DBA.InstalledVirusScanner herda as informações de software de MW_DBA.InstalledSoftware, juntamente com informações específicas de vírus, como data e versão da Definição.

Esquema para patch de software

Na ilustração acima, a classe MW_DBA.Patch associa-se a DBA.InstalledSoftware usando a associação MW_DBA.InstalledSoftwarePatch, com MW_DBA.InstalledSoftwarePatch.pinstanceID apontando para MW_DBA.InstalledSoftware e MW_DBA.InstalledSoftwarePatch.PatchID apontando para MW_DBA.Patch. O relacionamento entre as duas classes é de um para muitos. Isso significa que um software pode ter zero ou mais informações sobre o patch.

Esquema para informações de arquivo e de diretório

Na ilustração acima, a classe MW_DBA.File associa-se a DBA.InstalledSoftware usando a associação MW_DBA.InstalledFile, com MW_DBA.InstalledFile.pinstanceID apontando para MW_DBA.InstalledSoftware e MW_DBA.InstalledFile.fileID apontando para MW_DBA.File. O relacionamento entre as duas classes é de um para muitos. Isso significa que um software pode ter zero ou mais informações sobre o arquivo.

Na ilustração acima, a classe MW_DBA.Directory associa-se a DBA.InstalledSoftware usando a associação MW_DBA.InstalledFile, com MW_DBA.InstalledFile.pinstanceID apontando para MW_DBA.InstalledSoftware e MW_DBA.InstalledFile.DirectoryID apontando para MW_DBA.Directory.

Esquema para subclasses de software
Esquema para subclasses de software
Esquema para subclasses de software

Nas ilustrações acima, MW_DBA.MSoffice herda as informações de software de MW_DBA.SOftware. A subclasse obtém diretamente as informações do MS Office. Isso também se aplica às seguintes classes:

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

 

Esquema para utilização do disco

Na ilustração acima, MW_DBA.DiskUsage tem referências Foreign Key da coluna computerID para CIM.UnitaryComputerSystem.ID. A tabela MW_DBA.DiskUsage contém a utilização total do disco e o nome da extensão do arquivo.

75.3.6 Exemplo de consultas a banco de dados de Inventário

A seguir são fornecidos exemplos de consulta para a recuperação das informações de inventário do banco de dados de Inventário do ZENworks 7 Desktop Management.

Consulte os diagramas de esquema apresentados em Diagramas de esquema do CIM e o esquema de extensão no ZENworks 7 Desktop Management para obter informações sobre os atributos e as classes de esquema associados.

  1. Recupere o nome e o ID de todas as estações de trabalho inventariadas a partir do banco de dados e também da árvore do Novell eDirectory™ na qual essas estações de trabalho estão registradas. A consulta é como se segue:
    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$;
    

    Na consulta acima, o nome da árvore é parte do nome de sistema do computador.

  2. Recupere no banco de dados a etiqueta de patrimônio, o fabricante e o número do modelo de todas as estações de trabalho inventariadas. A consulta é como se segue:
    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. Recupere todos os aplicativos Microsoft, juntamente com suas versões e IDs, que estão instalados na estação de trabalho inventariada ’SJOHN164_99_139_79’, registrada na árvore ’NOVELL_AUS’ do eDirectory. A consulta é como se segue:
    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. Recupere as informações de processador da estação de trabalho inventariada ’SJOHN164_99_139_79.NOVELL_AUS’. A consulta é como se segue:
    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. Recupere o ID do UnitaryComputerSystem usado para a estação de trabalho inventariada ’SJOHN164_99_139_79.NOVELL_AUS’. A consulta é como se segue:
    SELECT
    
      id$ 
    
    FROM
    
      CIM.UnitaryComputerSystem
    
    WHERE
    
      Name=’SJOHN164_99_139_79.Novell_AUS’;
    
  6. Encontre o número de estações de trabalho inventariadas no banco de dados. A consulta é como se segue:
    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. Quando você conhece o ID do UnitaryComputerSystem de uma determinada estação de trabalho inventariada da consulta, como mostrado na consulta 5, a consulta 4 pode ser modificada da seguinte maneira:
    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 )
    
    	  )
    
    	);
    

    Substitua o ID da estação de trabalho inventariada especificada, colocando no lugar de ? o valor de ucs.id$ na consulta.

  8. Liste o endereço IP, o endereço IPX e o endereço MAC de todas as estações de trabalho no banco de dados. A consulta é como se segue:
    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. Recupere o nome e outras propriedades das unidades no disco rígido da estação de trabalho inventoriada especificada. A consulta é como se segue:
    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. Recupere todas as informações dos atributos personalizados armazenadas no banco de dados. A consulta é como se segue:
    SELECT * FROM ZENworks.CustomInformation;
    
  11. Recupere todas as informações dos atributos personalizados associados à classe CIM.UnitaryComputerSystem. A consulta é como se segue:
    SELECT
    
      * 
    
    FROM
    
      ZENworks.CustomInformation
    
    WHERE
    
      extractClass(id) IN
    
      (SELECT id FROM MW_DBA.t$Class WHERE 
      ClassName=’CIM. UnitaryComputerSystem’)
    
  12. Recupere todas as instalações do Microsoft Office na empresa. A consulta é como se segue:
    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. Recupere todas as instalações do Internet Explorer na empresa. A consulta é como se segue:
    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:As consultas 12 e 13 têm quase a mesma sintaxe, exceto pela tabela relativa ao componente. Uma abordagem semelhante pode ser aplicada a componentes, como Windows Media Player, Outlook Express, Microsoft Word e Microsoft Excel. O conjunto completo dessas tabelas está disponível no Esquema.

  14. Recupere todas as instalações de antivírus na empresa. A consulta é como se segue:
    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. Recupere todos os aplicativos e os detalhes dos arquivos a eles associados que estão instalados na estação de trabalho inventariada ’SJOHN164_99_139_79.NOVELL_AUS’. A consulta é como se segue:
    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. Recupere todos os arquivos presentes na estação de trabalho inventariada ’SJOHN164_99_139_79.NOVELL_AUS’ que não estão associados a um software válido. A consulta é como se segue:
    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. Recupere os detalhes de utilização do disco de arquivos com extensões conhecidas em cada máquina inventariada da empresa. A consulta é como se segue:
    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;