We were doing a large scale roll-out to over 12,000 clients for an important piece of software. When checking the reports for advertisement status, the number of successful installations were as hoped for and incredibly positive. We knew that there would be a number of machines (predominantly laptops) that would need to run it over the days that followed when they next contacted the network so we left it a week before checking on it again. A week went by and the vast majority of installs had occurred and the report now indicated a lot more successful installations. However, the collection of machines that was used to make up the pool of machines to target didn’t reflect the numbers we were seeing in the advertisement status report.
The collection query was designed to show all machines that did not have ApplicationX installed and was set to update it’s membership daily. This collection however, showed over 1000 machines that were reporting back as having successfully installed the program, indicating that although successfully running the program, it was not installed.
Ordinarily this usually indicates a problem in the query or a problem in a program exiting with code 0 when in fact it failed. After much head-scratching I generated a list of a few machines that had reported back as having successfully ran the program but persisted in the collection. Execmgr.log on the clients indicated that it had indeed ran (for the right amount of time) and had then exited with code 0. I then selected one of the clients and opened Resource Explorer. There was no entry for the program in question in the Add/Remove Programs node. This prompted me to look at the Workstation Status node whereby I found out that the last hardware inventory took place over a week ago (despite the client agent being set to perform inventory daily).
I then checked a couple of the other clients in question and noticed they all had the same last inventory date.
I then ran the built-in report “Computers not inventoried recently (in a specified number of days)” (Report ID: 72) for the last 9 days and it brought back over 2000 resources, including the 1000+ that were missing from the collection. It was clear to see from the list that these resources all shared the same Management Point, a Primary site server.
At this point I assumed it was a problem with clients either performing hardware inventory or sending the inventory data to the management point. I confirmed the client agent was still set to perform Hardware inventory daily, which it was. I checked a few clients, performed a manual hardware inventory cycle and observed the inventoryagent.log on the client and saw the successful completion of the inventory and the sending of the report to the management point:
I then hopped onto the server and monitored the dataldr.box, dataldr.log and MP_Hinv client log. Nothing was logged for the clients in question in either of the two logs, nor was anything created in the dataldr inbox.
This therefore indicated that the inventory data wasn’t even making it to the management point, rather than the issue being inserting the data into the database.
I was recommended the use of the MPTroubleshooter tool (which I’d never heard of before,probably due to lack of requirement for it) from the ConfigMgr 2007 Toolkit (Link). Running this against the deduced problematic management point and it immediately highlighted the cause of the issue (If the management point is Windows Server 2008 or higher, verify that the BITS Web Extensions for ConfigMgr is enabled – Failed).
I opened up IIS Manager 7 on the management point, expanded the CCM site, selected the CCM_Incoming folder and then at the bottom of the features view, opened BITS Uploads. This is what I saw:
The check box ‘Allow clients to upload files’ wasn’t checked and so client inventory files never made it to the management point. I enabled this option again and monitored the MP_Hinv.log client log on the management point and within seconds, hundred of inventory files began flooding through.
Looking at the timestamp for the last hardware inventory on the 1000+ clients that failed to send inventory data, it was the same day for all of them. This day was the same day that KB977384 and ConfigMgr 2007 R3 was installed on all primary site servers. This was the only instance of this happening however.