So I go to Manage and Computers and under the Saved Search "Installed Agent" I show 1650 machines. If I do a Hardware Inventory Search report for example I'm only finding 1591 total machines. Obviously there's something going on with the Inventory portion but I was curious where to start looking.
I have a specific machine I'm using as an example, here it's B1028TECH-11. It shows up under Manager > Computers but not in the Hardware Inventory Search report. When I pull up the machine's agent it shows the Altiris Inventory Agent is installed and the correct version. I check the task history and it shows the Collect Full Inventory job has succeeeded every day. Is there a setting I have in the inventory portion wrong?
The Installed Agents saved search starts with vRM_Computer_Item, which contains ALL computers regardless of managed state or asset state. The Hardware Inventory Search report starts with vComputer, which already filters out computers that are not managed (i.e. no agent installed) and computers that do not currently have an active asset status (e.g. retired). This is probably where the discrepency lies. Compare these two queries:
SELECT * FROM vRM_Computer_Item
SELECT * FROM vComputer
Sorry for the delay in getting back to you. This is still an issue though, we just had all sorts of stuff come up that took precedence.
Both of those queries supply 1932 rows so it seems there's no issue there. I have taken a few example machines that are not showing Hardware Inventory Search but are showing under Managed Computers and I verified the agent was installed and reporting and that the inventory is running on those machines (last inventory collection time per the NS "Drill down to How current is my computer Inventory" was actually on this morning and two yesterday morning).
Any other ideas of what to look at? Just for grins I'm running "C:\Program Files\Altiris\Altiris Agent\AeXAgentUtil.exe" /uninstallagents /clean on one of the machines and installing a clean agent to see if it reports in correctly in the Hardware Inventory Search report in the next day or so.
As you probable noticed, due to the acquisition we just did over the last couple of months we've added machines up to 1932 from 1650. We have the licenses to cover that so that's not an issue. We now show 1932 machines in Manage Computers -> Installed Agent but the Hardware Inventory Search report only shows 1613.
Oh, and one other note, the inventory seems to be the only issue on these machines that are missing. I can run tasks on them just fine from Jobs and Tasks.
I think it has something to do with the report now. I created a new report with just the following:
All the machines show up fine in that report (even through Hardware Inventory uses the same vComputer portion). I'll have to see what else in the Hardware Inventory search is filtering out the other machines. Any ideas what that might be?
Right click on the Hardware Inventory Search report and choose View as XML. Then, scroll down and you'll see the large SQL query being run.
The query does an INNER JOIN on vHWComputerSystem. Make sure all your machines are returned by that View (SELECT * FROM vHWComputerSystem).
Yup that's what's causing it, only showing 1613 machines in the vHWComputerSystem. Any idea what may cause some of these to not show up in there?
Compare the counts from these two:
SELECT DISTINCT _ResourceGuid FROM Inv_HW_Logical_Device
SELECT * FROM Inv_HW_Computer_System
SELECT DISTINCT _ResourceGuid FROM Inv_HW_Logical Device = 1767 rows
SELECT * FROM Inv_HW_Computer_System = 1620 rows
This is going to return quite a few rows but will give us an idea of when machines have last run their Inventory policies. If you have cloned your Inventory policies, then you will need to change the GUIDs I use. If a machine has never run Inventory, it will not appear in this list...and that will need to be researched. Hope this helps some...:)
SELECT ci.Name, i.Name, ti.StartTime, ti.EndTime, ti.InstanceStatus, ti.Result, ti.Success
FROM vRM_Computer_Item ci
JOIN Evt_Task_Instances ti
ON ti._ResourceGuid = ci.Guid
JOIN ItemVersions iv
ON iv.VersionGuid = ti.TaskVersionGuid
JOIN Item i
ON i.Guid = iv.ItemGuid
WHERE ParentTaskInstanceGuid IN ('8918C4B8-F6D0-45C3-BCB9-4628D264DA20', '2ac2b64e-a58a-41b0-a6ca-7994bdede5c4', '225067fa-37b3-4b3a-af01-a9c37bb553d6') -- Inventory Tasks
ORDER BY ti.EndTime
In case anyone else runs in to this I followed what Andrew mentioned and found that the machines in question had only done small inventories. I checked the Full Inventory policy and sure enough somehow the "collect deltas" got checked. Changed that and off we went. Thanks for all your help Andrew!