Write Filter Support Troubleshooting


This section provides instructions for resolving issues with write filter support.

After Enabling Write Filter Support on Devices and the Devices Restart, Corrupted MIF Files Might Be Created

Check the Auth\Dataldr.box\Badmifs Inbox folder on the site server, which stores corrupted MIF files, for a backlog of MIF files. If you see a backlog of MIF files, review the Dataldr.log log file located in the <InstallationPath>\LOGS folder on the site server for the following type of error.

“Processing Inventory for Machine: DeviceName   Version X.x

Begin transaction: Machine=DeviceName

WARNING - Outdated report will be discarded. (sp return code = 8)

Rollback transaction: Machine=DeviceName

If you add a new device with disabled write filters, let one or more inventory cycles run, and then later enable the write filters on that device, corrupted MIF files are created due to the mismatch of server and device inventory version.

To resolve this issue, create a custom task sequence with write filter support that also causes the next hardware inventory collection to collect a full inventory of the affected devices configuration, instead of an inventory of changes that were made to the devices since the last hardware inventory collection.


Advertising the following script to all devices will affect performance on devices that do not have a corrupted MIF file. To avoid this, create a custom collection of only devices that have corrupted MIF files, and perform the following procedure on this collection.

To initiate a full hardware inventory

  1. Create a custom task sequence with write filter support. For more information, see Adding Write Filter Support to Custom Task Sequences.

  2. Create a program by using the following code and add it to the custom task sequence.

    strComputer = "."
    strNamespace = "\root\ccm\invagt"
    strInstance = "InventoryActionStatus.InventoryActionID='{00000000-0000-0000-0000-000000000001}'"
    Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & strNamespace)
    Set objSWbemObject = objSWbemServices.Get(strInstance)
  3. Advertise the custom task sequence to all affected devices. For more information, see How to Advertise Task Sequences in Configuration Manager Help.

Advertisements and Custom Task Sequences with Write Filter Support Do Not Process as Expected

Advertisements and custom task sequences with write filter support may not process as expected when the hardware inventory collection schedule is set to a very short time, such as one minute. To prevent hardware inventory collection schedules from interfering with the Write Filter feature, set the schedule to 15 minutes or longer. For more information about hardware inventory collection schedules, see About Scheduling Inventory in Configuration Manager Help.