Analyzing QuickTasks used in ZeUS

  • 7023769
  • 14-Mar-2019
  • 19-Feb-2020

Environment

ZENworks Configuration Management 2017 Update 4

Situation

Analysis on ZCM 2017 Update 4 QuickTasks using ZeUS (2017 U4 and later).

ZCC QuickTask Inventory Scans may go to "Stopped" status, but finishes and populates the inventory in the database
ZCC QuickTask seems slow to refresh device
ZCC QuickTask using ZeUS fails to execute on all managed devices

Resolution

If agent is Windows and is 2017 Update 4 or higher, the webserver is not used to contact the agent.
Instead we update the sequence number and let ZeUS handle it.
Refresh from the agent side will complete the QuickTask.

Cause

2017 U4 QuickTasks do not go through agent webserver, the sequence number is updated and ZeUS handles it.

Quick Task Assignment Status codes
0    NEW
100  CONNECTING

Status Related to Push Notification 160 INITIATED 170 NOTIFICATION FAILED
200 CONNECTED 250 CONNECTION FAILED 300 STATUS ASSIGNED 320 INSTALL BUNDLE REQUESTED 350 STATUS IGNORED
375 STATUS APP IGNORED 400 STATUS EXPIRED 450 STATUS CANCELLED 500 STATUS FAILED 1000 STATUS DONE

QuickTasks Expired Dialog
If QuickTask is Expired post Expiry Time and Current Time
If QuickTask is not marked DONE by now, then if it is expired, then mark status as STOPPED
If Status Code < QuickTask Assignment then QuickTask Status is DONE
If Status Code = QuickTask Assignment then QuickTask Status is CANCELLED


Additional Information

Query to see status of QuickTasks Assignments:
Find your zdevice_hostname that is having the issue

select zdevice.hostname, zDeviceWorkToDoInfo.QuickTaskAck, zDeviceWorkToDoInfo.QuickTaskSeq, zdeviceworktodoinfo.RecordUpdateTime,
zdeviceworktodoinfo.ConnectionId, zQuickTaskAssignment.StatusTime, zQuickTaskAssignment.StatusCode from zDeviceWorkToDoInfo
inner join zdevice ON zDeviceWorkToDoInfo.ZUID=zDevice.ZUID
inner join zQuickTaskAssignment ON zDeviceWorkToDoInfo.ZUID=zQuickTaskAssignment.DeviceUID
where Hostname='<zdevice_hostname>'

Example Host name: WIN-MGGT8LMK5R

For inventory: remember to have "User can initiate Scan" checked in Configuration > Inventory | Inventory for users to initiate a "Scan Now" from ZAA.

DoQuickTaskQueueActionHandler changes were made.
zNetworkAddress table did not have any issue.
Agent IP pings properly.
RURunning request is not from WOLHandler, that is from deviceHealth check to show agent status in the device page.

(Conditional) Workaround w/2017 U4 agent and higher to enable legacy QuickTasks (via webserver) :
(Must have code from 1127048 FTF, or FRU1 or ZCM 2020 installed)
Set ZCC > Managed Devices | System Variables > Add
PING_DEVICE_TO_SEND_QUICKTASK=true

Note:  The Workaround above assumes that the primary server has 2017 Update 4 FTF Rollup 1 or official FTF applied.