Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel2
minLevel2

This article describes a method to distinguish between different templates created for the various third party asset inventory tools and provides guidelines for identifying the source or origin of discovery data imported using the ServiceAide Asset Converter. Examples of the various sources or origins might include Microsoft Systems Management Server (SMS) 2003, Microsoft System Center Configuration Manager (SCCM) 2007, Altiris Inventory Solution, BMC Configuration Management (formerly Marimba), LANDesk Inventory Manager, Tivoli Asset Management or BDNA Insight. Within various tools, there is often more than one method used for software inventory. An example is Microsoft SCCM Add/Remove Programs or Asset Intelligence.

...

You do not need to test the data in ITCM every time you build a new section, but it is recommended that you do spot check every now and then so that if you find an error, you can address it in small parts, and not need to debug the whole lot at once.


Appendix A:

Exam
Table of Contents
maxLevel2
minLevel2
ple

Example

This section shows a full example of an Altiris Template build based on the recommendations from the document.

NOTE: This is only an example if you need to du an Altiris import:

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<!--
Asset Converter Mapping Template for Altiris

This Mapping template for Altiris, using the AeX inventory tables both for Hardware and 
Software Inventory.
NOTE The Software Product name is the "Known as Name" Not the Product name. 


Version	    : 1.0.2		
Author	    : Kim Rasmussen Ca-Swat
Date	      : 22-oct-2009 		
Tested on   : Altiris 6.0.6074 		

History     : 1.0.0 : First version 
              1.0.1 : Added additional Total Memory and Serial number fields for viewing in the Overview
              1.0.2 : Changet the MAC Address format to use ':' as delimiters instead of '-'
-->

<asset-converter>
	<datasource type="DataBase">
		<subtype>10</subtype>
		<connection-properties>
			<property name="server">servername</property>
			<property name="database">Altiris</property>
			<property name="username">sa</property>
			<property name="port">1433</property>
			<property name="password">password</property>
			<property name="integratedsecurity">false</property>
		</connection-properties>

	</datasource>
	<output-settings>
		<dest-dir value="Altiris_assets"/>
		<output-filename value="Alt" host-name="true"/>
	</output-settings>
	<asset query="select _ResourceGuid AS GUID  from Inv_AeX_AC_Discovery" translator="ACBsFmt" version="1_0">
		<general query="select id.Name,REPLACE(tcp.[MAC Address],'-',':') AS MACAddress,tcp.[IP Address], id.[OS Name] as OSName, ISNULL(SN.[Serial Number],'') AS SNumb from inv_aex_ac_tcpip tcp,inv_aex_ac_identification id left outer Join Inv_AeX_HW_Serial_Number AS SN on SN._ResourceGUID=id._ResourceGUID where tcp._ResourceGuid = id._ResourceGuid and id._ResourceGuid = '{asset.Guid}'">
			<host_name  value="{general.Name}"/>
			<default_hostname  value="{general.Name}"/>
			<default_address value="{general.IP Address}"/>
			<default_mac value="{general.MACAddress}"/>
			<serial_number value="{general.SNumb}"/>
			<class_id value="{general.OSName}"/>
			<origin value="Altiris"/>
			<trustlevel value="4"/>
	      	</general>
		<hardware>
		<group name="AdditionalInventory">
                	<group name="Asset Coverter">
         			<attribute name="Name" value="Altiris.xml" type="string"/>
         			<attribute name="Version" value="1.0.2" type="string"/>
        	 		<attribute name="Comment" value="" type="string"/>
	        	</group>
         	</group>

	      	<group name="GeneralInventory">
	        	<group name="System" query="select ID.Name, case when SN.[Asset Tag]='Data not accessible' then '' else SN.[Asset Tag] end AS AssetTag, SN.[System Manufacturer] AS Vendor, SN.[Computer Model] AS Model, SN.[Serial Number] AS SNumb, CPU.Number as CPUCnt, CPU.Cores as CPUCores, convert(bigint,[Total Physical Memory (MB)]*1024)*convert(bigint,1024) as TotMem from inv_aex_ac_identification AS ID Inner Join Inv_AeX_HW_Serial_Number AS SN on SN._ResourceGUID=ID._ResourceGUID inner join Inv_AeX_HW_CPU_spt CPU on CPU._ResourceGUID=ID._ResourceGUID inner join Inv_AeX_HW_Memory as mem ON mem._ResourceGuid = id._ResourceGuid WHERE ID._ResourceGuid = '{asset.Guid}' ">
  				<attribute name="Hostname" type="string" value="{group(name='System').Name}"/>
	      	    		<attribute name="Asset Tag" type="string" value="{group(name='System').AssetTag}"/>
				<attribute name="Vendor" type="string" value="{group(name='System').Vendor}"/>
	         		<attribute name="Model" type="string" value="{group(name='System').Model}"/>
        	 		<attribute name="Serial Number" type="string" value="{group(name='System').SNumb}"/>
        	 		<attribute name="No. of Processors" type="int32" value="{group(name='System').CPUCnt}"/>
        	 		<attribute name="No. of Cores" type="string" value="{group(name='System').CPUCores}"/>
	                        <attribute name="Total Memory" type="int64" subtype="M" value="{group(name='System').TotMem}"/>
				<group name="Processors" query="select CPU._ResourceGUID, CPUDes.Type, CPUDes.Speed from Cmn_HW_CPU_Common CPUDES inner JOIN dbo.Inv_AeX_HW_CPU_spt AS CPU on CPU._KeyHash=CPUDES._KeyHash WHERE CPU._ResourceGuid = '{asset.Guid}'"> 
	    			      <attribute name="Speed" type="int32" value="{group(name='Processors').speed}"/>
				      <attribute name="Type" type="string" value="{group(name='Processors').type}"/>
                	      	</group>
                        	<group name="Memory" query="SELECT convert(bigint,[Total Physical Memory (MB)]*1024)*convert(bigint,1024) as TotMem FROM Inv_AeX_HW_Memory WHERE _ResourceGuid = '{asset.Guid}'"> 
	                              <attribute name="Physical Memory" type="int64" subtype="M" value="{group(name='Memory').TotMem}"/>
                	      	</group>
				<group name="System BIOS" query="SELECT [BIOS Vendor] AS Vendor, [BIOS Version] AS Ver, [BIOS Release Date] AS BDate FROM Inv_AeX_HW_BIOS WHERE _ResourceGuid = '{asset.Guid}'"> 
	                              <attribute name="Vendor" type="string" value="{group(name='System BIOS').Vendor}"/>
    				      <attribute name="Version" type="string" value="{group(name='System BIOS').Ver}"/>
 				      <attribute name="Install Date" type="string" value="{group(name='System BIOS').bdate}"/> 	
                      		</group>
			</group>

 			<group name="Network" query="select ID.Name, ID.Domain from inv_aex_ac_identification AS ID WHERE ID._ResourceGuid = '{asset.Guid}' ">
         			<attribute name="Computer Name" type="string" value="{group(name='Network').Name}"/>
         			<attribute name="Domain Name" type="string" value="{group(name='Network').Domain}"/>
         	 		         		
         			<group name="TCP/IP" query="SELECT REPLACE([MAC Address],'-',':') AS MACAddress, [IP Address] AS IPAddress, [Subnet Mask] AS SubNetMask, [Default Gateway] AS DefaultGateway, Subnet, DHCPEnabled, [DHCP Server] AS DHCPServer, Device, [Host Name] AS HostName, [Primary DNS Suffix] AS DNSDomain, [WINS Proxy Enabled] AS WINS, [DNS Server 1] AS DNS1, [DNS Server 2] AS DNS2, [Primary WINS Server] AS PrimWINS, [Secondary WINS Server] AS SecWINS FROM Inv_AeX_AC_TCPIP WHERE _ResourceGuid = '{asset.Guid}'">
         				<attribute name="MAC Address" type="string" value="{group(name='TCP/IP').MACAddress}"/>
         				<attribute name="IP Address" type="string" value="{group(name='TCP/IP').IPAddress}"/>
         				<attribute name="Subnet Mask" type="string" value="{group(name='TCP/IP').SubnetMask}"/>
         				<attribute name="Default Gateway" type="string" value="{group(name='TCP/IP').DefaultGateway}"/>         			
         				<attribute name="Subnet" type="string" value="{group(name='TCP/IP').Subnet}"/>
         				<attribute name="DHCP" type="boolean" subtype="normal" value="{group(name='TCP/IP').DHCPEnabled}"/>
         				<attribute name="DHCP Server" type="string" value="{group(name='TCP/IP').DHCPServer}"/>         			         			
         				<attribute name="Device Name" type="string" value="{group(name='TCP/IP').Device}"/>         			         			
         				<attribute name="Host Name" type="string" value="{group(name='TCP/IP').HostName}"/>         			         			
         				<attribute name="Domain" type="string" value="{group(name='TCP/IP').DNSDomain}"/>         			         			
         				<attribute name="WINS" type="string" value="{group(name='TCP/IP').WINS}"/>         			         			
         				<attribute name="Domain Name Server" type="string" value="{group(name='TCP/IP').DNS1}, {group(name='TCP/IP').DNS2}"/>         			         			
         				<attribute name="Primary WINS Server" type="string" value="{group(name='TCP/IP').PrimWINS}"/>         			         			
         				<attribute name="Secundary WINS Server" type="string" value="{group(name='TCP/IP').SecWINS}"/>         			         			     			         			
         			</group>
         		</group>
         		<group name="System Devices">
	         		<group name="Sound Adapter" query="SELECT  CMN.Description, CMN.Class, CMN.Type, CMN.Manufacturer, CMN.Enumeration FROM Inv_AeX_OS_System_Devices_spt AS INV INNER JOIN Cmn_OS_System_Devices_Common AS CMN ON CMN._KeyHash = INV._KeyHash WHERE INV._ResourceGuid = '{asset.Guid}' AND CMN.Enumeration = 'ISAPNP'">
         				<attribute name="Model" type="string" value="{group(name='Sound Adapter').Type}"/>
         				<attribute name="Vendor" type="string"  value="{group(name='Sound Adapter').Manufacturer}"/>         			
	         		</group>
				<group name="Video Adapters" query="SELECT CMN.Description, CMN.Drivers, INV.[Video RAM] AS VideoRam FROM Inv_AeX_HW_Video_spt AS INV INNER JOIN Cmn_HW_Video_Common AS CMN ON CMN._KeyHash = INV._KeyHash WHERE INV._ResourceGuid = '{asset.Guid}'">
					<attribute name="Model" type="string" value="{group(name='Video Adapters').Description}"/>
					<attribute name="Driver" type="string" value="{group(name='Video Adapters').Drivers}"/>
					<attribute name="Memory Size" type="int32" subtype="K" value="{group(name='Video Adapters').VideoRam}"/>
         			</group>         		
				<group name="Network Adapter" query="SELECT Device, [MAC Address] AS MACAddress FROM Inv_AeX_AC_TCPIP WHERE _ResourceGuid = '{asset.Guid}'">
					<attribute name="Model" type="string" value="{group(name='Network Adapter').Device}"/>
					<attribute name="MAC Address" type="string" value="{group(name='Network Adapter').MACAddress}"/>
				</group>
         			<group name="PCI Adapters" query="SELECT  CMN.Description, CMN.Class, CMN.Type, CMN.Manufacturer, CMN.Enumeration FROM Inv_AeX_OS_System_Devices_spt AS INV INNER JOIN Cmn_OS_System_Devices_Common AS CMN ON CMN._KeyHash = INV._KeyHash WHERE INV._ResourceGuid = '{asset.Guid}' AND CMN.Enumeration = 'PCI'">
         				<attribute name="Model" type="string" value="{group(name='PCI Adapters').Description}"/>
         				<attribute name="Vendor" type="string"  value="{group(name='PCI Adapters').Manufacturer}"/>        			         			
         			</group>
         			<group name="USB Controller" query="SELECT  CMN.Description, CMN.Class, CMN.Type, CMN.Manufacturer, CMN.Enumeration FROM Inv_AeX_OS_System_Devices_spt AS INV INNER JOIN Cmn_OS_System_Devices_Common AS CMN ON CMN._KeyHash = INV._KeyHash WHERE INV._ResourceGuid = '{asset.Guid}' AND CMN.Enumeration = 'USB'">
         				<attribute name="Model" type="string" value="{group(name='USB Controller').Description}"/>
         				<attribute name="Vendor" type="string"  value="{group(name='USB Controller').Manufacturer}"/>
         			</group>
         		</group>
 			<group name="Operating System" query="SELECT OS.[Service Pack] SP, OS.[Install Path] AS InstallPath, OS.Architecture, OSDesc.[OS Name] AS OSName, OSDesc.Version, OSDesc.[Product ID] ProdID, OSDesc.Build FROM Inv_AeX_OS_Operating_System_spt AS OS INNER JOIN Cmn_OS_Operating_System_Common AS OSDesc ON OS._KeyHash = OSDesc._KeyHash WHERE OS._ResourceGuid = '{asset.Guid}'">
				<attribute name="Operating System" type="string" value="{group(name='Operating System').OSName}"/>
				<attribute name="Version" type="string" value="{group(name='Operating System').Version}"/>
				<attribute name="Service Pack" type="string" value="{group(name='Operating System').SP}"/>
	         	</group>
	         	<group name="File System">
        	 		<group name="Local File System" query="SELECT [Device ID] AS Drive, Name, [Volume Name] AS Volume, Description, [File System] AS FileSystem, convert(bigint,[Free Space in MBytes]*1024)*convert(bigint,1024) AS Free, CASE WHEN [Size in MBytes] > 0 THEN ([Size in MBytes] - [Free Space in MBytes]) * 100 / [Size in MBytes] ELSE 0 END AS used_percent, convert(bigint,[Size in MBytes]*1024)*convert(bigint,1024) AS Size, [System Name] AS SysName, [Volume SerialNumber] AS SerialNumber FROM Inv_AeX_HW_Logical_Disk WHERE _ResourceGuid = '{asset.Guid}'">
					<attribute name="Mount Point" type="string" value="{group(name='Local File System').Drive}"/>
					<attribute name="Name" type="string" value="{group(name='Local File System').Name}"/>
					<attribute name="Volume Label" type="string" value="{group(name='Local File System').Volume}"/>
					<attribute name="Type" type="string" value="{group(name='Local File System').Description}"/>
					<attribute name="File System" type="string" value="{group(name='Local File System').FileSystem}"/>
					<attribute name="Free" type="int64" subtype="byte" value="{group(name='Local File System').Free}"/>
					<attribute name="Used %" type="int32"  value="{group(name='Local File System').used_percent}"/>
					<attribute name="Size" type="int64" subtype="byte" value="{group(name='Local File System').Size}"/>
					<attribute name="Serial Number" type="string" value="{group(name='Local File System').SerialNumber}"/>
         			</group>
	         	</group>
	         	<group name="Storage">
        	 		<group name="Fixed Drives" query="SELECT Name, Description, convert(bigint,[Size (MB)]*1024)*convert(bigint,1024) AS Size, [Number Of Cylinders] AS Cyl, [Bytes per Sector] AS BytePrSec, [Sectors per Track] AS SecPrTrack, [Tracks per Cylinder] AS TrackPrCyl, [Drive Letters] AS Letter, [System Drive] AS Drive FROM Inv_AeX_HW_Physical_Disk WHERE _ResourceGuid = '{asset.Guid}'">
         				<attribute name="Device" type="string" value="{group(name='Fixed Drives').Name}"/>
         				<attribute name="Model" type="string" value="{group(name='Fixed Drives').Description}"/>
         				<attribute name="Size" type="int64" subtype="byte" value="{group(name='Fixed Drives').Size}"/>
         				<attribute name="Cylinder" type="int32" value="{group(name='Fixed Drives').Cyl}"/>
         				<attribute name="Bytes Per Sector" type="int32" value="{group(name='Fixed Drives').BytePrSec}"/>
         				<attribute name="Sectors Per Track" type="int32" value="{group(name='Fixed Drives').SecPrTrack}"/>
         				<attribute name="Track Per Cylinders" type="int32" value="{group(name='Fixed Drives').TrackPrCylSize}"/>
         				<attribute name="Drive" type="string" subtype="string" value="{group(name='Fixed Drives').Drive}"/>
	         		</group>
				<group name="CD-Rom Drives" query="SELECT  CMN.Description, CMN.Class, CMN.Type, CMN.Manufacturer, CMN.Enumeration FROM Inv_AeX_OS_System_Devices_spt AS INV INNER JOIN Cmn_OS_System_Devices_Common AS CMN ON CMN._KeyHash = INV._KeyHash WHERE INV._ResourceGuid = '{asset.Guid}' AND CMN.Description LIKE '%CD-ROM%'">
         				<attribute name="Model" type="string" value="{group(name='CD-Rom Drives').Type}"/>
         				<attribute name="Vendor" type="string"  value="{group(name='CD-Rom Drives').Manufacturer}"/>
         			</group>
         		</group>
 	      	</group>
	      	</hardware>
  	<software>
  		<package name="{package.KnownAs}" query="SELECT INV.[File Path] AS FilePath, SW.Manufacturer, SW.ProductName, SW.ProductVersion, SW.[File Name] AS FileName, SW.KnownAs FROM Inv_AeX_SW_Audit_Software_spt AS INV INNER JOIN Cmn_SW_Common AS SW ON INV._KeyHash = SW._KeyHash WHERE INV._ResourceGuid = '{asset.Guid}' AND LTRIM(RTRIM(SW.KnownAs)) != '(null)'">
       	<attribute name="Ver" type="string" value="{package.ProductVersion}"/>
  		  <attribute name="Pub" type="string" value="{package.Manufacturer}"/>
  			<attribute name="Path" type="string" value="{package.FilePath}" />
  			<attribute name="FileName" type="string" value="{package.FileName}" />
  		</package>
  	</software> 	
  </asset>
</asset-converter>


...