SCCM Hardware Inventory frequently fails to assign Re-Sync policy upon Delta Mismatch

Mitchell Thatcher 1 Reputation point
2022-10-31T21:56:40.54+00:00

I've been tearing my hair out running down this rabbit hole. I will try to list the state of my current troubleshooting, since I have chased many a red-herring on this. I have checked every article I can find about hardware inventory and its troubleshooting and all I can find about Re-sync is the general assertion that the SMS_Inventory_Data_Loader is supposed to assign a Re-Sync policy to the client object when it encounters a Delta Mismatch (Client Sends a Delta Inventory Report that is too new to be processed). I have determined that the data loader is often NOT assigning this Re-Sync policy. Triggering a Full Hardware Inventory does get processed with no issue, its just that the dataloader never assigns the policy using sp_RC_InvResync.sql.

I have parsed the appropriate logs from the client side all the way to the data loader. Here are all the logs I have verified:
Client:
InventoryAgent.log
CcmMessaging.log

MP:
MP_HWInv.log

Site Server:
Dataldr.log

I have confirmed that the InventoryAgent.log shows the client starting a {00000000-0000-0000-0000-000000000001} inventory task, completing without errors, other than some hardware classes not found, but nothing terminating. I have confirmed Agent sends the report to the MP.

I have confirmed the MP receives the report and sends the MIF to the site server. Possible Red-Herring, but I do see many error messages in MP_Hinv.log that state that "Date property year value is less than 1980 - 16010101000000.000000-000; year will be adjusted by MIF processing on site server" but I can confirm that the incoming MIF file has the corrected dates in them.

The data loader then begins processing the MIF, begins the transaction, throws the Delta Mismatch warning, code 7, rolls back the transaction, exec's spAddInventoryLog, States that it cannot process the MIF and moves it to inboxes\auth\dataldr.box\ToProcessMIFS\DeltaMismatch. The data loader finally states Done with code 408.

By comparison, when I look at an example where the loader DOES add the resync, dataldr.log includes these two lines:
Remote client hardware inventory resync generated for client GUID:---; update/insert result = 2

Send resync command to local site for machine GUID:---.

In my testing, I have found that the Data Loader does succeed to add the assignment if sp_checkHWinvReportVersion returns code 9 for a major version mismatch (or at least I havent encountered a case of it failing on this code. Possible Red-Herring), but it is very inconsistent at adding the assignment on the more common return code 7 for a missed minor version mismatch.

I see sp_RC_InvResync.sql and sp_checkHWinvReportVersion have read their procedures and I have been monitoring the database dbo.InventoryLog as well as joining dbo.ResyncPolicy with dbo.ResPolicyMap and dbo.PolicyAssignment to monitor when the Re-sync has been assigned.

I have circled around this issue and scoured for more details about what other logic might be at play here, but I cannot find anything detailing a case where the dataloader is NOT supposed to add the resync policy. This is causing my devices to very frequently fall out of sync with my Site Server, causing hardware Inventory to basically halt until I force a full Inventory.

Microsoft Configuration Manager
0 comments No comments
{count} votes

10 answers

Sort by: Most helpful
  1. Mitchell Thatcher 1 Reputation point
    2022-11-01T15:21:21.88+00:00

    I'll run a test right now to see. Last time I tested on my local, it looked like it was around 24-48 hours. What is Blackhole?


  2. Mitchell Thatcher 1 Reputation point
    2022-11-07T16:30:26.817+00:00

    Okay, so as far as the HW Inventory falling back out of sync, I think I have a problem related to issues with our internet based client devices throwing certificate related errors connecting to our WAN facing servers. I am still investigating that part (it appears to not be a simple expired cert, wrong cert binding in IIS, or an untrusted root) but this appears to be causing the internet based hw inventories to be ignored by the MP.

    While I will be able to investigate and resolve this with time, I still need to fix this resync issue, which was, as far as I understand, designed to be a very elegant stop gap for an issue like this, since my internet based clients very frequently connect to VPN, becoming internet based clients, so the resyncs should have been able to keep them up to date. Any ideas, specific to resync?

    0 comments No comments

  3. Garth Jones 1,666 Reputation points
    2022-11-07T16:54:19.92+00:00

    You can do something alone the lines of this.
    https://askgarth.com/blog/how-to-avoid-receiving-inventory-re-sync-requests-for-snapshot-vms/

    Create a batch file which triggers a full inventory of your devices. and run it daily or weekly.

    0 comments No comments

  4. Mitchell Thatcher 1 Reputation point
    2022-11-09T18:11:59.933+00:00

    Well, thats certainly a good piece of info. Thank you for that, I didnt find that in any of my reading about this. However, I can see that my ToProcessMIFS\DeltaMismatch does appear to have almost a month worth of mifs in here. Is there a console or registry setting that governs this delay period? Additionally, where is the processing of these ToProcessMIFs logged?

    0 comments No comments

  5. BerndA 5 Reputation points
    2025-01-21T07:42:40.44+00:00

    Hello Mitchell, i know this is a older thread but maybe you are reading.

    We have investigated the same issue in our enviroment. There is often no resync policy triggered on a deltamismatch of the delta hardware inventory. Have you ever found a solution that a resync gets triggered on "WARNING - Attempting to resync due to missed delta reports (sp return code = 7)" ?

    BR Bernd


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.