Although the default for Software Inventory is disabled in ConfigMgr 2012; you perhaps have enabled Software Inventory for file inventory. If you’ve done so… have you noticed that on some clients it can take hours and hours and HOURS before it finishes? Or even on some clients it never finishes; just exits with a message that it will retry later? “The system cannot continue. Cycle will be aborted and retried.” will be in the inventoryagent.log .
There’s a local policy override that you can set, on each of your clients, to change the default of inventory throttling from TRUE to FALSE. Inventory throttling, in this case, is when you have multiple software inventory rules, like perhaps… to inventory *.exe from %programfiles%, and then another one for *.exe from c:\SomeLocalFolder. and inbetween rule 1 and rule 2 it waits several hours to move from rule 1 to rule 2 in the inventoryagent.log
Here’s a way to quickly implement (and quickly undo, if you need to) this local policy override.
–>Attached<– are two baselines you can import into your Console. The only one you actually need is the one called “Local Policy Override to Disable Inventory Throttling”. In your CM12 Console, Assets and Compliance, Compliance Settings, Compliance Baselines, import that .cab file. Now that you have it, deploy it to a test collection. You may want to target a group of computers which you know are exhibiting the behavior in their local inventoryagent.log as mentioned above. Make sure when you deploy the baseline, that you DO check the box about remediate.
Because software inventory is (in general) slow… you may want to wait a few days to see that this baseline does what you expect it to do. Once you are satisfied with the results, it is up to you if you want to deploy this Local Policy Override to all of your Windows systems in CM12.
If, at some future time, you want to take away this local policy override, import the baseline “Delete The LPO for Inventory throttling Disabling”. Obviously remove the deployment of the original; and deploy the Delete baseline. (if both are deployed at the same time to the same machines… those machines will get and remove, remove and then get, the local policy override… just messy.)
Thanks to Robert Hastings and Microsoft for the local policy override syntax!