/
Windows Task

Windows Task

Before You Begin

The Windows task allows you to run a platform-specific application on a Windows machine. To run a Windows task, you must first complete the following tasks:

Built-In Variables

The following built-in variables can be used in a Windows task to pass data where appropriate:

Creating a Windows Task

Step 1

From the Automation Center navigation pane, select Tasks > Windows Tasks. The Windows Tasks list displays a list of all currently defined Windows tasks.
 
To the right of the list, Windows Task Details for a new Windows task displays.
 

Step 2

Enter/select Details for a new Windows task, using the field descriptions below as a guide.

  • Required fields display an asterisk ( * ) after the field name.
  • Default values for fields, if available, display automatically.

To display more of the Details fields on the screen, you can either:

  • Use the scroll bar.
  • Temporarily hide the list above the Details.
  • Click the  button above the list to display a pop-up version of the Details.

Step 3

Click the  button. The task is added to the database, and all buttons and tabs in the Task Details are enabled.

Note

To open an existing record on the list, either:

  • Click a record in the list to display its record Details below the list. (To clear record Details below the list, click the New button that displays above and below the Details.)
  • Clicking the Details icon next to a record name in the list, or right-click a record in the list and then click Open in the Action menu that displays, to display a pop-up version of the record Details.
  • Right-click a record in the a list, or open a record and right-click in the record Details, and then click Open In Tab in the Action menu that displays, to display the record Details under a new tab on the record list page (see Record Details as Tabs).

Windows Task Details

The following Windows Task Details is for an existing Windows task.

Depending on the values that you enter / select for these fields, and whether or not the Windows task has ever been launched, more (or less) fields may display. See the field descriptions, below, for a description of all fields that may display in the Windows Task Details.
 

Windows Task Details Field Descriptions

The following table describes the fields, buttons, and tabs that display in the Windows Task Details.

Field Name

Description

General

This section contains general information about the task.

Name

User-defined name of this task (Maximum = 255 alphanumeric characters); variables supported. It is the responsibility of the user to develop a workable naming scheme for tasks.

Version

System-supplied; version number of the current record, which is incremented by the Controller every time a user updates a record. Click the Versions tab to view previous versions. For details, see Record Versioning.

Description

Description of this record. Maximum length is 255 characters.

Member of Business Services

User-defined; Allows you to select one or more Business Services that this record belongs to.  (You also can Check All or Uncheck All Business Services for this record.)

You can select up to 62 Business Services for any record type, and enter a maximum of 2048 characters for each Business Service.

If the Business Service Visibility Restricted Universal Controller system property is set to true, depending on your assigned (or inherited) Permissions or Roles, Business Services available for selection may be restricted.

Resolve Name Immediately

If enabled, the Instance Name of the task instance will be resolved immediately at trigger/launch time.

Time Zone Preference

User-defined; Allows you to specify the time zone that will be applied to the task.

Options:

  • – System Default –
    Time zone is based on the value of the Task Time Zone Preference Universal Controller system property: Server or Inherited.
  • Server (xxx)
    Where (xxx) is the time zone ID of the server; time zone is evaluated in the time zone of the server.
  • Inherited
    Time zone is evaluated in the time zone of the Parent Workflow or Trigger / Launch specification in the case there is no Parent Workflow.

Hold on Start

If enabled, when the task is launched it appears in the Activity Monitor with a status of Held. The task runs when the user releases it.

Hold Reason

Information about why the task will be put on hold when it starts.

Virtual Resource Priority

Priority for acquiring a resource when two or more tasks are waiting for the resource. This priority applies to all resources required by the task.

Options: 1 (high) - 100 (low).

Default is 10.

Hold Resources on Failure

If enabled, the task instance will continue to hold Renewable resources if the task instance fails. Renewable resources will be returned only if the task instance status is either Complete, Finished, or Skipped.

Mutually Exclusive With Self

If enabled, the task will not be allowed to run concurrently with itself. Task will not start until the instance that is running finishes. An instance will transition to Exclusive Wait status if it cannot start due to another instance already running. 

Simulate

Specifies if the instance should execute under simulation mode

Override Previous Instance Wait

Specifies whether or not to override the parent workflow's Previous Instance Wait configuration.

This option only applies for an instance running within a workflow.

Options: 

  • No

    Behavior determined by the parent workflow configuration.
  • Yes / -- None --

    Regardless of the parent workflow configuration, the task instance will never wait for a previous instance to complete.
  • Yes / Wait for Last

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until the most recent prior instance of the same task has completed.
  • Yes / Wait for Last / Same Workflow

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until the most recent prior instance of the same task, within an instance of the same workflow, have completed.
  • Yes / Wait for All

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until all prior instances of the same task has completed.
  • Yes / Wait for All / Same Workflow

    Regardless of the parent workflow configuration, the task instance will remain in Instance Wait until all prior instances of the same task, within an instance of the same workflow, have completed.

Agent Details

This section contains assorted detailed information about the Agent / Agent Cluster selected for this task.

Cluster

Indication that selecting an Agent Cluster is required and selecting Broadcast, which lets you select a Cluster Broadcast, is optional.  If Cluster is selected, selecting an Agent is not required unless Agent Variable is selected.

Agent

Name of the Agent resource that identifies the machine where the operation will run. If you do not specify an Agent, you must specify an Agent Cluster or Cluster Broadcast.

Agent Variable

Indication of whether the Agent field is a reference field for selecting a specific Agent (unchecked) or a text field for specifying the Agent as a variable (checked). Use the format: ${variable name}. The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using an Agent reference to using an Agent variable, you must change the Agent Variable field to Yes and specify the Agent variable in the Agent Unresolved field. Conversely, to change from using an Agent variable to using an Agent reference, you must change the Agent Variable field to No and specify the Agent reference in the Agent field.

Agent Cluster

If Cluster is selected and Broadcast is not selected; Group of Agents, one of which the Controller will choose to run this task (compare with Cluster Broadcast). You can specify an agent cluster in addition to or in place of a specific Agent. If you specify an Agent and an agent cluster, the Controller first tries to run the task on the specific agent. If the Agent is not available, the Controller reverts to the agent cluster. See Agent Clusters for more information.

Agent Cluster Variable

Indication of whether the Agent Cluster field is a reference field for selecting a specific Agent Cluster (unchecked) or a text field for specifying the Agent Cluster as a variable (checked). Use the format: ${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using an Agent Cluster reference to using an Agent Cluster variable, you must change the Agent Cluster Variable field to Yes and specify the Agent Cluster variable in the Agent Cluster Unresolved field. Conversely, to change from using an Agent Cluster variable to using an Agent Cluster reference, you must change the Agent Cluster Variable field to No and specify the Agent Cluster reference in the Agent Cluster field.

Broadcast

Displays only if Cluster is selected; Indication that selecting a Cluster Broadcast is required. Selecting Broadcast hides the Agent and Agent Cluster fields; you cannot select values for them.

Cluster Broadcast

Group of Agents, all of which will run this task (compare with Agent Cluster). If Broadcast is selected for a task, you must select a Cluster Broadcast instead of a specific Agent and/or agent cluster. Each instance of the task running on its own Agent becomes a separate task instance record in the database and displays separately on the Activity Monitor.

Cluster Broadcast Variable

Indication of whether the Cluster Broadcast field is a reference field for selecting a specific Cluster Broadcast (unchecked) or a text field for specifying the Cluster Broadcast as a variable (checked). Use the format:

${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using a Cluster Broadcast reference to using a Cluster Broadcast variable, you must change the Cluster Broadcast Variable field to Yes and specify the Cluster Broadcast variable in the Cluster Broadcast Unresolved field. Conversely, to change from using a Cluster Broadcast variable to using a Cluster Broadcast reference, you must change the Cluster Broadcast Variable field to No and specify the Cluster Broadcast reference in the Cluster Broadcast field.

Credentials

Credentials under which an Agent runs this task. These Credentials override any Credentials provided in the Agent Details for any Agent running this task.

If the user does not have a login shell, add a - character in front of the runtime credentials name. The Controller will provide a shell for that user and strip the - character from the name.

Required if the Agent Credentials Required Universal Controller system property is true. When required, if the Credential is specified as a variable, and the variable resolves to blank, a Start Failure will occur.

Credentials Variable

Indication of whether the Credentials field is a reference field for selecting a specific Credential (unchecked) or a text field for specifying the Credential as a variable (checked). Use the format: ${variable name}.

The variable must be a supported type as described in Variables and Functions.
 

Note

When updating multiple Tasks, to change from using a Credentials reference to using a Credentials variable, you must change the Credentials Variable field to Yes and specify the Credentials variable in the Credentials Unresolved field. Conversely, to change from using a Credentials variable to using a Credentials reference, you must change the Credentials Variable field to No and specify the Credentials reference in the Credentials field.

Run with Highest Privileges

This option must be enabled in order to execute the task using an elevated privileges token, rather than one subject to User Account Control (UAC) restrictions. An elevated token allows a process to execute with all the privileges available to its specified credentials. For example, a task executed with an administrative account will behave as though it received permission via a UAC dialog to perform a privileged operation.
 
This option will not give a user account privileges that have are not already granted to it. For example, taking ownership of a file is a privileged operation by default. A task will still fail even with this option selected if it is run with a regular user account that has not been granted the ability to change file ownership.
 

Note

This option only will affect tasks executed on Windows systems that support User Account Control (UAC). It will have no affect on tasks run on Windows releases prior to Vista (for example, Windows XP, Server 2003).

Interact with Desktop 

If Windows Task Interact With Desktop Permitted system property = true;

This option must be enabled for a task that runs an application with a GUI requiring some manual actions from a user (for example, clicking buttons or entering values).

Note

When using this option to display GUI applications on any version of Windows that enforces session 0 desktop isolation (that is, Windows Vista and later), the GUI will only be accessible from the interactive console session. Further, the task will execute using the credentials of the user logged into that session.

This means that any GUI-based application executed via a Windows task will not be visible from a remote desktop session. It will be visible only from console of the interactive session that exists on the system itself (that is, the session you would see from a monitor attached directly to the Windows machine or by logging in via a VM's host UI).

Create ConsoleIf Interact with Desktop is enabled; Allocates a new console for the process, rather than having it inherit one.

Windows Details

This section contains assorted detailed information about the task instance.

Command or Script

Specifies whether a single command or a script is being executed.

Options:

  • Command (default)
  • Script

If the Windows/Linux Scripts Permitted Universal Controller system property is set to false:

  • The Command or Script field is set to Command and is read-only.
  • If the Command or Script field is set to Script, the field becomes modifiable so that you can change it to Command.

Note

For both command-based tasks that call a .vbs/.js file directly, and script-based tasks that also rely on the systems association with file extension, GUI-based wscript.exe is associated with the vbs and js file extensions. Without explicitly calling one or the other, the Controller would use wscript.exe.
 
The Agent system may need to be adjusted to properly use the Windows Scripting Host from the scheduler/agent environment.
 
The following command can be used to set the default script host to cscript.exe: C:\tmp>cscript //h:cscript //s

Command

Required if Command or Script = Command; Command being executed on the remote machine. Variables supported.

Script

Required if Command or Script = Script; Name of the script in the Controller database that will be executed by this task.
 

Note

If you click the Details icon for a Script selected in this field, the Script Type field in the Details is read-only.

Parameters


Any arguments needed by the program to execute properly. Variables supported.

Runtime Directory


Directory from which the application should be executed. Variables supported.

Environment Variables

Allows you to enter environment variables needed by the program to run.

To add a variable, click the + icon and enter a Name and Value. To delete a variable, select in the list of variables and click the - icon.

You can add a maximum of 4,000 characters for the combined Names and Values of all variables. The variable is listed in the space underneath.

Result Processing DetailsThis section contains assorted detailed information about result processing for this task.

Exit Code Processing

Specifies how the Controller should determine whether the executed command failed or completed successfully.

Options:

  • Success Exitcode Range
    Command is considered completed successfully if its exit code falls within the range specified in the Exit Codes field.
  • Failure Exitcode Range
    Command is considered failed if its exit code falls within the range specified in the Exit Codes field.
  • Success Output Contains
    Command is considered completed successfully if its output contains the text specified in the Scan Output For field.
  • Failure Output Contains
    Command is considered failed if its output contains the text specified in the Scan Output For field.
  • Step Conditions (z/OS only)
    Command is considered completed successfully/failed if any of its specified condition codes falls within the range specified under the Step Conditions tab (see Creating Step Conditions).

Output Type

Required if Exit Code Processing = Success Output Contains or Failure Output Contains; type of output.

Options:

  • Standard Output (STDOUT)
  • Standard Error (STDERR)
  • File
  • Extension

Scan Output For

Required if Exit Code Processing = Success Output Contains or Failure Output Contains; text for which the Controller should scan the output file. The Controller will process this field as a regular expression.

Output File (for Exit Code Processing)

Required if Output Type = File; path and file name of the output file that should be scanned for the text in the Scan Output For field.

Exit Codes

Required if Exit Code Processing = Success Exitcode Range or Failure Exitcode Range; range of exit codes. Format: Numeric. Use commas to list a series of exit codes; use hyphens to specify a range. Example: 1,5, 22-30.

Variables are supported.

Automatic Output Retrieval

Specifies whether you want the Controller to automatically retrieve any output from the job and attach it to the task instance record.

The Task Automatic Output Retrieval Default Universal Controller system property specifies the default value for this field.

Options:

  • None
    Do not attach any output to the task instance record.
  • Standard Output
    Attach all standard output.
  • Standard Error
    Attach standard error output.
  • File
    Attach the file specified in the Output File field.
  • Standard Output/Error
    Attach all standard output and standard error output.
     

Note