I have found over time that our inventory seems to be incomplete. For example, we have many machines that do appear to be reporting their hardware serial number. Upon further investigation, I've found that pulling S/N from Inv_AeX_AC_Identification, I get more results than from vAsset. Also, In same cases, computers had returned the serial number from vAsset, but not Inv_AeX_AC_Identification. Are these the best tables to pull this data from?
Does anyone know what may cause these discrepancies? I am using the following code:
SELECT
a.[Name],
MAX(h.[_eventTime]) AS 'Last Agent Config Request',
i.[department],
c.[User] as 'Primary User', a.[OS Name], a.[Hardware Serial Number] as 'AC Serial Number',
b.[Serial Number] AS 'vAsset SN',
b.[Model], b.[Manufacturer],
c.[IP Address], c.[MAC Address],
g.[Distinguished Name] as 'OU',
d.[Total Physical Memory (Bytes)] as 'Memory (bytes)',
e.[Max Clock Speed (Mega-hertz)] as 'CPU Speed'
FROM Inv_AeX_AC_Identification a LEFT OUTER JOIN vAsset b ON a.[_ResourceGuid] = b.[_ResourceGuid]
FULL OUTER JOIN vComputer c ON a.[_ResourceGuid] = c.[Guid]
LEFT OUTER JOIN Inv_HW_Computer_System d ON a.[_ResourceGuid] = d.[_ResourceGuid]
LEFT OUTER JOIN Inv_HW_Processor e ON a.[_ResourceGuid] = e.[_ResourceGuid]
LEFT OUTER JOIN vResourceEx f ON a.[_ResourceGuid] = f.[GUID]
LEFT OUTER JOIN Inv_OU_Membership g ON a.[_ResourceGuid] = g.[_ResourceGuid]
LEFT OUTER JOIN Evt_NS_Client_Config_Request h ON a.[_ResourceGuid] = h.[ResourceGuid]
LEFT OUTER JOIN vAssetDepartmentOwner i ON a.[_ResourceGuid] = i.[_AssetGuid]
WHERE g.[IsDirectMember] = 'True'
GROUP BY a.[Name], c.[User], a.[OS Name], a.[Hardware Serial Number], b.[Serial Number],
b.[Model], b.[Manufacturer],
c.[IP Address], c.[MAC Address],
g.[Distinguished Name], d.[Total Physical Memory (Bytes)], e.[Max Clock Speed (Mega-hertz)], i.[department]
ORDER BY Name
Any pointers appreciated. Thanks.