Wiki source code of Jobs

Last modified by jklein on 2025/08/22 13:29

Show last authors
1 {{aagon.floatingbox/}}
2
3 Job Management allows you to manage tasks for clients and the server efficiently.
4
5 Jobs can be used to distribute one-time or recurring tasks to manageable clients via the server. A job basically consists of two parts: the task itself and the start condition. Jobs can be created and executed individually or in a [[(% style="color:#3173b5" %)Job Collection>>doc:ACMP.68.ACMP-Solutions.Jobs.Job Collections.WebHome]](%%).
6
7 {{aagon.infobox}}
8 Jobs can only be executed on managed Clients, regardless of the operating system family. These Clients are marked aClient Commandordingly with the Client icons. [[image:Ico_ClientTypeService.png||height="24" width="24"]] [[image:Ico_ClientType_Linux_Managed.png||height="24" width="24"]][[image:Ico_ClientType_MacOs_Managed.png||height="24" width="24"]].
9 {{/aagon.infobox}}
10
11 = Types of jobs =
12
13 The task of a job depends fundamentally on its type. Since ACMP 6.8, a distinction is also made between the operating system family of the clients on which the job is to be executed. For this reason, there are jobs for clients with Windows operating systems and jobs for clients with Unix operating systems.
14
15 == Windows jobs ==
16
17 For Windows jobs, you can choose between the following job types: Client Command, Job Collections, System Jobs, Managed Software, and Windows Update Collections.
18
19 == Unix jobs ==
20
21 For Unix jobs, you can currently only execute Unix scripts as jobs.
22
23 {{aagon.infobox}}
24 Please note that a working SICS connection is required to execute Unix jobs. For more info, see the section __[[Unix Scripts>>doc:ACMP.68.ACMP-Solutions.Desktop Automation.Unix Scripts.WebHome]]__.
25 {{/aagon.infobox}}
26
27 = Execution of jobs =
28
29 You can start jobs either manually once or repeatedly at intervals. For both variants, you define start conditions in advance that determine when the job should be executed.
30
31 {{aagon.infobox}}
32 Note that jobs in a group are executed sequentially. This means that if you create several Client Command jobs, they are executed one after the other. However, if you have started a Client Command job and a system job, they cannot be executed sequentially, but in parallel. Both jobs come from a different job group.
33 {{/aagon.infobox}}
34
35 == Execute a manual job ==
36
37 A manual job is always executed only once. To start a job manually, you must first execute a query and select the Clients on which the job is to be executed. Note that job execution is only possible for one operating system family. The job is skipped for any selected Clients of a different operating system family.
38
39 1. Select the Clients on which the job should be executed once.
40 1. In the ribbon bar, click either Windows// Jobs Execute //or //Unix Jobs Execute//, depending on the operating system family of the selected Clients.
41 1. In the wizard that opens, select the type of job (Client Command, Job Collections, System Jobs, Managed Software, Windows Update Collections, or Unix Scripts).
42 1. In the folder view, double-click on each job that should be executed. Alternatively, you can drag and drop the jobs into the window area on the right.
43 1. If necessary, configure the parameter settings for the selected jobs.
44 1. If there are multiple jobs, use the arrows in the right pane to customize the order in which the jobs should be executed.
45 1. If necessary, select the distribution ring to be used for the selected jobs.
46 1. Click the button //Next >//.
47 1. If necessary, specify individual start conditions for execution.
48 1. Click the button //Execute//.
49
50 {{aagon.infobox}}
51 The console script of a Client Command is only executed when a job is pushed. In this case, it is executed with the rights with which the ACMPConsole.exe was started. The execution takes place on the console that triggered the command. The console script is executed first, and only if the execution was suClient Commandessful, the client script gets executed. The connection to the clients is established from the ACMP Server.
52 {{/aagon.infobox}}
53
54 [[Manual execution of jobs>>image:Jobs_Manuelle Ausführung.png||alt="Manuelle Ausführung von Jobs"]]
55
56 == Execute a container job ==
57
58 A job or an entire Job Collection is attached to a container, which is started either repeatedly or once on the ACMP Agent.
59
60 If the server cannot reach the client, the client retrieves the jobs assigned to it. If the client is switched off, the job gets executed later when the ACMP Agent service is started. Unlike pushed jobs, no console script is executed for container jobs.
61
62 Jobs or job collections can be added to containers in the Container module:
63
64 1. In the ACMP Console navigation, navigate to //Client Management > Container.//
65 1. Select an existing container. If you have not yet created a container, first read the section [[Creating a container>>doc:ACMP.68.ACMP-Solutions.Client-Management.Container.Container verwalten.WebHome||anchor="HContainererstellen"]]..
66 1. In the detail view of the container, click on the //Jobs// tab.
67 1. In the ribbon bar in the //Jobs// area, click on the //Add// button.
68 1. A wizard opens in which you can select the type of job (Client Command, Job Collections, Managed Software, Windows Update Collections or Unix Scripts).
69 1. In the folder view, double-click each job that should be executed. Alternatively, you can drag and drop the jobs into the right window pane.
70 1. If necessary, configure the parameter settings for the selected jobs.
71 1. If there are several jobs, use the arrows in the right window pane to customize the order in which the jobs should be executed.
72 1. Click the //OK// button to confirm the selected jobs and close the wizard.
73 1. In the dialog window, select whether you want to define individual start conditions for the jobs.
74 1. If necessary, define individual start conditions for the execution. Follow the instructions in the Start Conditions Wizard.
75 1. Click the //Finish// button.
76
77 [[Adding jobs to containers>>image:Container-Jobs.png||alt="Hinzufügen von Jobs zu Containern"]]
78
79 == Set parameters for Client Command jobs ==
80
81 When you execute a Client Command job, you also have the option of editing parameter values. Each Client Command has parameters that you can customize. The parameter settings only apply to the selected Client Command.
82
83 {{figure}}
84 [[image:Feste Parameter.PNG||data-xwiki-image-style-alignment="center"]]
85
86 {{figureCaption}}
87 Fixed parameter values of the Client Command job
88 {{/figureCaption}}
89 {{/figure}}
90
91 The following values are available:
92
93 //**Execute console script**//
94
95 A Client Command can have user-defined parameters and a console script. It is possible that the Client Command project variable is filled by the parameters in addition to the //Transfer content from console to client// command of the console script.
96
97 {{aagon.infobox}}
98 In this case, the console script overwrites the parameter values!
99 {{/aagon.infobox}}
100
101 Select the checkbox //Execute console script// if the console script should always overwrite the user-defined parameters.
102
103 //**Log method**//
104
105 When executing a Client Command, advanced logs can be viewed in the Job Monitor. With this setting, you can select the desired log method from various options, which are then saved during execution:
106
107 |(((
108 //Apply Client Command behavior as default setting//
109 )))|The log method set in the Client Command is always used when the job is executed. This setting is activated by default.
110 |(((
111 //Never save advanced log//
112 )))|The advanced log is never saved when the job is executed.
113 |(((
114 //Save advanced log only in case of error//
115 )))|The advanced log is only saved if an error is found during job execution.
116 |(((
117 //Always save advanced log//
118 )))|The advanced log is always saved, regardless of whether an error occurred during job execution or not.
119
120 **//Actions//**
121
122 These settings allow you to decide which action is applied when the Client Command is executed:
123
124 |(% style="width:223px" %)//Install//|(% style="width:1216px" %)The software should be installed.
125 |(% style="width:223px" %)//Uninstall//|(% style="width:1216px" %)The software should be uninstalled.
126 |(% style="width:223px" %)//Repair//|(% style="width:1216px" %)The software should be repaired in case of a defect.
127 |(% style="width:223px" %)//Park//|(% style="width:1216px" %)The software is copied and stored on the client in advance, but not installed. {{aagon.infobox}}The storage location is defined individually in the registry under HKLM\SOFTWARE\Aagon\ACMP, via the 'SoftwareDownloadPath' value. If nothing is entered, ACMP will use the automatic default path: C:\ProgramData\Downloads\<project ID>.{{/aagon.infobox}}
128 |(% style="width:223px" %)//Unpark//|(% style="width:1216px" %)The software is removed from the client on which it was previously stored.
129
130 (% class="box infomessage" %)
131 (((
132 [[image:https://doc.aagon.com/bin/download/XWiki/Aagon Infobox/WebHome/Information.svg||alt="“Note”" height="32" width="32"]] **Note: **
133
134 These actions are only available for client commands that were generated independently or via the Package Wizard.
135 )))
136
137 == **Set parameters for Managed Software jobs** ==
138
139 If you want to execute a Managed Software job, you must also add parameters to this job. Each software package has individual parameters that you can customize. The individual parameters only apply to the corresponding software package and are applied to all available versions.
140
141 {{figure}}
142 [[image:Parameter MSW.PNG||data-xwiki-image-style-alignment="center"]]
143
144 {{figureCaption}}
145 Fixed and variable parameter values of the MSW job
146 {{/figureCaption}}
147 {{/figure}}
148
149 These are the following values:
150
151 //**Action**//
152
153 These settings allow you to decide which action is passed as a parameter to the selected Managed Software:
154
155 |//Install or update//|When the job is executed, the selected Managed Software is either installed for the first time or updated if it is already installed.
156 |//Update existing installations only//|When the job is executed, only updates to existing installations are performed.
157 |//Reinstall//|The installed Managed Software version is uninstalled and the more current version is then reinstalled. If no version of the software is installed, no changes are made.
158 |Uninstall|The selected Managed Software is uninstalled.
159
160 **//Log method//**
161
162 When executing Managed Software, advanced logs can be viewed in the Job Monitor. With this setting, you can select the desired log method from various options, which will then be saved during execution:
163
164 |//Never save advanced log//|The advanced log is never saved during job execution.
165 |//Save advanced log only in case of error//|The advanced log is only saved if an error is found during job execution.
166 |//Always save advanced log//|The advanced log is always saved, regardless of whether an error occurred during job execution or not.
167
168 {{aagon.infobox}}
169 Please note that the MSW parameters only have the two fixed parameters described above and that additional variable parameters can be set if necessary. These depend on the Managed Software.
170 {{/aagon.infobox}}
171
172 = **Start conditions** =
173
174 The start conditions specify when the job should be executed. For some conditions, you can set a specific date, while for others you can define specific actions to be performed while working on the service.
175
176 {{aagon.infobox}}
177 There are currently less start conditions available for the Unix operating system family than for the Windows operating system family.
178 {{/aagon.infobox}}
179
180 First, specify whether the task should be active or inactive. Select the checkbox //Enabled,// if you want to change the start conditions.
181
182 In addition to the enabled start conditions, you can also define the// network connection options//. Using the// network connection options//, you can specify whether the scanner takes metered connections into account and does not start the scanner. Then select the desired start condition according to which the scanner or maintenance should be performed.
183
184 {{aagon.infobox}}
185 The start conditions //Specific time//, //As soon as possible// and //Start interval// cannot be set for jobs that should be executed once.
186 {{/aagon.infobox}}
187
188 |**Start condition**|**Explanation**
189 |Login|The condition is executed as soon as a user logs on to the system or terminal server.(((
190 * Example: The user logs on to the computer.
191 )))
192 |Specific time|The condition is executed daily at a specific time that you can specify.
193 |Specific date|You can only run the scanner on a specific date by specifying a date.
194 |Date interval|Dynamically calculated times can be defined for execution.(((
195 * Example: The first day of the month.
196 )))
197 |Shutdown|The start condition is executed when the client is shut down. To do this, the user is first logged off and only then are the jobs executed.(((
198 * Special feature: Commands that run in the user context are not executed (e.g., all commands in the category Dialogs, as well as Lock manual input, Unlock manual input, Get idle time, Lock workstation, Get/Set default printer, and If user is (not) in group).
199 )))
200 |Last day of each month (deprecated)|The scanner is executed on the last day of each month.{{aagon.infobox}}Please note that this is a deprecated start condition. We recommend that you use the “Date interval” setting instead.{{/aagon.infobox}}
201 |As soon as possible|The task is executed as soon as possible.{{aagon.infobox}}This start condition implies a one-time execution!{{/aagon.infobox}}
202 |Start of agent|(((
203 The execution is performed when the ACMP Agent is started (manually via the service management or by restarting the machine).
204
205 * Example: The computer is restarted.
206 )))
207 |Start time|Execution begins at the start time you specify. You can also specify a finish date, which means that the data will not be automatically refreshed when that date is reached.
208 |Start interval|Within the start condition, you can define an interval (minutes, hours, days) at which the task should always start. {{aagon.infobox}}The start behavior of random time windows is only available for the interval setting “Days.”{{/aagon.infobox}}
209 |Day of the week|Execution is started when you specify one or more days of the week. There is also the option of including every nth day of a month.
210 |Day of the month|The condition is executed on all days of the month that you specify. The execution is only carried out in months with the selected days.
211 |Time window|A specific time window with a start and end time can be specified.
212
213 Finally, save your changes so that the scanners or maintenance tasks can start under the new start conditions.
214
215 == **Special behavior of start conditions** ==
216
217 {{aagon.infobox}}
218 Please note a special behavior for the “Time window” option. If you use this in combination with the start conditions “Day of the week,” “Day of the month,” or “Specific date” and the time window extends beyond one day (e.g., 10:00 p.m. – 2:00 a.m.), the client task would only be executed on that specific date. This also applies if the time window extends into the next day. Therefore, always check the date first and then the time window. For example, if you only want to execute a scanner in the evening, it would run until 11:59 p.m., but not until the actual end of the specified time window.
219 {{/aagon.infobox}}
220
221 {{aagon.infobox}}
222 In the start conditions “Start interval” and “Time window,” there is the option “Start at a random time within the time window.” We recommend that you use this start condition. This ensures that the scan data is sent to the server at different times. If a large amount of scan data is sent at the same time, the import may be delayed.
223 {{/aagon.infobox}}
224
225 == Processing combined start conditions ==
226
227 Depending on which start condition you have selected, it is possible to combine several conditions. These start conditions are evaluated and processed one after the other. This means that start conditions that build on another or follow each other can only be processed if the prior condition is met. Only then the following condition can be checked.
228
229 {{box}}
230 **Example:** Select the “Start time” start condition in the wizard and click //Continue >//. Enter a start date (e.g., 11/21/2024 at 12:00 p.m.). Now select the “Time window” condition from the //Combine with //area and specify the time window on the right-hand side (in this example, between 12:00 and 15:00). If you want that the computer should be woken up for the job, enable the checkbox of the same name.
231 {{/box}}
232
233 The condition description is now “From 11/21/2024 12:00 between 12:00 and 3:00 p.m. and wake up 10 minutes before.” Since the start time is before the start of the time window, the condition would not start until November 22, 2024, because it was moved forward by 10 minutes by waking up the computer and therefore no longer fits the condition.
234
235 [[Combined start conditions>>image:ACMP.68.ACMP-Solutions.Desktop Automation.Client Commands.Jobs ausführen.WebHome@68_Startbedingung_Kombination verschiedener Startbedingungen_845.png||alt="67_Startbedingung_Kombination verschiedener Startbedingungen_845.png"]]
236
237 In the shown sequence, the “Start time” condition is evaluated first. Only when this is fulfilled is the “Time window” condition checked. The additionally selected option //Wake up computer for job //(as well as all options not selected in the figure) always belong to the respective condition (“Time window”) and do not refer to the entire condition.
238
239 {{aagon.infobox}}
240 A combination of the start conditions “Start time” and “Specific time” would behave in the same way as in the example above. The start conditions would be evaluated one after the other and would only take effect if the prior start condition was fulfilled.
241 {{/aagon.infobox}}
242
243 == Scheduled Server Tasks ==
244
245 The [[scheduled server tasks>>doc:ACMP.68.ACMP-Solutions.System.Einstellungen.ACMP Server.WebHome||anchor="HGeplanteServeraufgaben"]], which you can set and start under //System > Settings > ACMP Server//, are also jobs. However, these jobs only affect the ACMP Server and are based exclusively on recurring start conditions.
246
247 = Checking job executions =
248
249 After you have started your jobs, you can view them in the [[Job Monitor>>doc:ACMP.68.Arbeiten mit der ACMP Console.Aufbau der Console.Ribbonleiste.Monitore.WebHome||anchor="HClientmonitor"]] . You will receive information about which jobs are pending on the clients, have already been successfully executed or have failed.
250 You can also view all jobs that are still being executed by one or more clients, have already been successfully executed or have failed from the client's perspective in the [[Client monitor>>doc:ACMP.68.Arbeiten mit der ACMP Console.Aufbau der Console.Ribbonleiste.Monitore.WebHome||anchor="HClientmonitor"]] from the client's perspective. You can check the execution of server jobs in the [[Server Monitor>>doc:ACMP.68.Arbeiten mit der ACMP Console.Aufbau der Console.Ribbonleiste.Monitore.WebHome||anchor="HServermonitor"]].
© Aagon GmbH 2025
Besuchen Sie unsere Aagon-Community