A software deployment task is created and run, but hangs with a result in the Console of "Task Queued at Client for Execution". Any task pushed to the machine gives this result.
There are two possible causes for this issue.
- Vulscan (Patch Manager) is currently running on the client machine, which will not allow SDClient (Software Distribution) to run concurrently.
- The more common reason, is a Software Deployment task is hung on the machine, often due to a misconfigured Distribution Package.
There are multiple steps that can be taken to resolve this issue, and depending on what type of task is hung will determine the steps that will have effect. The first thing that will need to be done is to determine what task is hung. If you open up Windows Task Manager on an affected client look to see which process is running. It will be either Vulscan.exe or SDClient.exe. If it is Vulscan.exe then you should just have to wait till the scan and\or repair task completes to run your Software Distribution task. If it is an SDClient.exe process that is running that means a Software Distribution task is hung on the client machine.
- On an affected client machine open the SDClient.log located at C:\Program Files (x86)\LANDesk\Data\ jump to the end and look for a message similar to the following excerpt.
In this case Task ID 142 is hung on the client machine, and Task ID 143 is unable to run and is the task that is giving the "Task Queued at Client for Execution" message back in the console. Also in this log you will be able to see which tasks are currently queued for execution. Looking back through the log, you will see the same lines as above with different tasks numers in place of Task 143 from this example.
Now we know the Task ID that is hung on the client(s). In the Management Console go to Scheduled Tasks, click on All Tasks. In the window to the right it should list all of the tasks on the core. Scroll to the right, until you see the column labeled "Task ID" click on the column title to sort the tasks by that column, and locate the task ID. Now you can trace from the task back to the package and find out what ins being installed, and find out what process it would identify with in the Windows Task Manager.
- To resolve the message and get tasks flowing again, it may require only one, or a combination of the steps below.
- Reboot the client computer.
- Stop the installer process in Task Manager. This can be done in mass with a Custom Script. The installer process is commonly either msiexec.exe in the case of an MSI Package, or setup.exe In the case of an Executable Package. However, the actual process name can and will vary from on package to the next. A good rule of thumb is what ever the primary file is on the Distribution Package the process will be named similarly.
- Stop the SDClient.exe process in the Task Manager, this alone however will leave the installer running on the machine and just allow the next task to run. Either stopping the install process, or rebooting the computer will be required to clear the install process out.
An common and important point on this issue is that many times it is usually not until after multiple tasks have been sent to the client machine(s) that the "Task Queued at Client for Execution" message is coming from. This can be seen in the SDClient.log file listing the queued tasks on the client machine. If there are multiple tasks queued on a client the suggestions above will result in SDClient.exe processing the next task in line, if you need to clear the client task queue completely and start fresh you will either need to allow all the tasks to run, repeat the steps above for each task, or contact LANDESK support for other options.
- Download the Attached "Purge Client DB.ini" file. (Updated 5/19/2015)
- Copy to the \Program Files (x86)\LANDesk\ManagementSuite\Scripts\ folder on the Core Server.
- In the Management Suite Console go to Tools - Distribution - Manage Scripts
- Click on All Scripts, locate "Purge Client DB" in the list of scripts.
- Right click on the script and select "Schedule"
- Add the desired clients to the task, and run the task. It should only take a minute or two to complete.
- You are now good to go and can resend your other task again.
Using this method wipes out all history of previously run Policy tasks. All Policies still targeted at that device will queue up and begin running on the client again. Make sure to remove the affected clients from targeted policies before running the script.