This article covers information regarding the new Task Status Scrubber.
Available in LDMS 9.6 SP3 and later
In certain circumstances, a task may not complete when running on a client. Depending on what point the task stops, it may not convey the status to the Core, which can cause inconsistent results (i.e. the Core indicates the task is still 'active', but the task is not actually still running on the client).
The Task Status Scrubber was introduced to reduce instances where the status on the Core inaccurately reflects the status of the task on a client.
How it Works
When policysync.exe /enforce is run on a client, policy files are checked and depending on certain criteria, different actions will occur.
Note: Policysync.exe /enforce is scheduled to run hourly on a client
It will check:
- The <Status> from the CP.TaskID.RunNow.stat file (C:\programdata\LANDesk\Policies\CP.3963.RunNow.stat)
- The <Mode> , <Interval>, and <PushTask> from the CP.TaskID.RunNow...xml file (C:\programdata\LANDesk\Policies\CP.3963.RunNow._pNdBhtCzhUV2ft00a51ngW6C86E=.xml)
The following conditions are considered sequentially when Policysync.exe /enforce is ran. This means that it will determine if it should run at all first, if it should run, it will check each policy individually and see if it should be continued or scrubbed.
Conditions where the Scrubber will not run
- Vulscan or SDClient is currently running
- This will cause the scrubber to skip running against any policies during that run. It will try again the next time policysync.exe /enforce runs.
- PolicySync.exe log will show:
PolicyScrubber.ScrubPolicies: sdclient or vulscan is currently running, skipping policy scrub.
Conditions where the task will attempt to be continued
- A .dat file present for the given task in the C:\ProgramData\LANDesk\Policies\RunNow folder
- <PushTask>true AND (<Status>1 or <Status>3 )
- <PushTask>false AND <Mode>Required AND <Interval>Once AND <Status>5
Conditions where the Scrubber will run and mark policies as 'Failed'
- <PushTask>true AND <Status>2
- <PushTask>false AND <Mode>Required AND (<Status>1 or <Status>2 or <Status>3)
Example: PolicySync.exe.log will show
Policy [C:\ProgramData\LANDesk\Policies\CP.3963.RunNow.stat] needs to be scrubbed, it's current status is , setting it to failed and sending task status to the core...
PolicyScrubber.ScrubPolicies: Finished scrubbing policies,  policy needed scrubbing.
Result: Failed to install package
Return code: 16386
- 0 = Unknown
- 1 = Working
- 2 = Downloading
- 3 = Installing
- 4 = Success
- 5 = Failed
- 6 = Canceled
- 7 = Defered