Today I had to troubleshoot a problem where the Configuration Manager Client Health task was not running on 30% of the 1500 Windows XP SP3 clients. It seemed that after the deployment of the Configuration Manager 2012 clients that the Configuration Manager Client Health task never had run before. Since all the Windows XP workstations are in the process to be replaced for Windows 7, a quick and temporary solution was asked.
As mentioned many Windows XP SP3 (not quiet fully patched) systems reported a client check status as failed. Like shown in the figure below. Instead of patching all systems, which you normally will do, was not really an option because like mentioned the Windows XP installations will be replaced reasonably soon for new Windows 7 installations. Patching all systems would demand a lot of testing time from the organization.
Looking at the client logs in C:\Windows\CCM\ learned me that the CcmEval.log did not exist and the CcmEvalTask.log had errors like below in it.
Failed to convert SYSTEMTIME to FILETIME (0×80070057)
Attempting to recreate the scheduled task.
Failed to create the client evaluation task
Even though the log file stated that it was failed creating the evaluarion task, looking at the Task Scheduler showed me that the Task was there with a status Could not start.
The reason why the Configuration Manager Client Health task won’t run is the fact that is configured with my domain user account as the run account. The Configuration Manager Client Health task needs to run under the System account.
Looking for a solution “on the net” I came across two items in the Technet Forum (here and here) that did not do the job for me. Also trying to fix the existing task with the schtasks.exe command to change it to use the System account instead of the (current logged on) domain user, unfortunately another error came up. (The data area passed to a system call is to small)
Considering the fact that possible issues are fixed in patches that are not installed and the fact that Windows XP is going to be replaced pushed me to a quick and dirty workaround. What I did is creating a custom task that will run every night at 0:00 with the AT (DOS) command.
AT 00:00 /every:m,t,w,th,f,s,su c:\windows\ccm\CcmEval.exe
The command above will create a task that will run successful and report the status of the client to the Configuration Manager site.
As you see the task At1 has been created and has been started once to test the solution, in the results below you see that the CcmEval task reported back the results and also fixed an issue with the Remote Control service status and startup type.
Names in the figures are replaced..