Scripts allows you to store scripts in the Universal Controller database.
When a task that specifies a stored script is executed, the script is transmitted to the remote machine for execution.
There is a 1MB limit on the content size of scripts, whether the content is defined in the Script Details or a uploaded from a local file system (see Uploading a Script, below). |
You can use scripts with the following task types: Windows, Linux/Unix, SAP, and File Transfer (UDM scripts for UDM File Transfer tasks).
You cannot import compiled executables into Scripts. The content of scripts must be text that can be processed by some shell, script host, or command interpreter.
You can embed Universal Controller variables in the script content. Embedded variables are resolved at trigger/run time before the script is sent to an Agent.
Controller variables can be passed as parameters, but the script still has to be written to parse the variables. However, you cannot pass variables as parameters that contain data longer than the parameter field (for example, SQL results).
For example, the following script shows how a Controller variable could be used.
#!/bin/bash echo Task Name: ${ops_task_name} echo Task Instance: ${ops_task_id} |
You also can enter a script directly into a Universal Template, but you cannot select a stored script. |
There are five types of scripts:
Script | For use in Windows or Linux/Unix tasks. |
---|---|
SAP Definition | For use in SAP tasks. |
UDM Script | For use in UDM File Transfer tasks. |
Web Service Payload | For use in Web Service tasks. |
Data | For use in a script or task (see Data Scripts, below). |
Data Scripts (Script Type = Data) are meant to be used with scripts and commands specified in tasks, and resolved when the script or command is executed. Data Scripts provide the script or command with access to a path on the UAG file system where the temporary Data Script content resides.
Deleting a Data script is prohibited if it is referenced by one or more Universal Tasks or Universal Template Fields (Default Value). Changing the type for a Data script is prohibited if it is referenced by one or more Universal Tasks or Universal Template Fields (Default Value). The Tasks tab on the Script Details is enabled for Data scripts and lists Universal Tasks that reference the script via a mapped Script field. |
To use a Data Script with a script, embed the Data Script in any of the following:
To use a Data Script with a task, embed the Data Script in any of the following:
Although you can embed a Data Script in the Command field or Parameters field of a Linux/Unix or Windows task, only scripts with Script Type = Script can be referenced in a Linux/Unix or Windows task; that is, it is the only type of script that is available for selection in the Linux/Unix or Windows task Script field. |
To embed a Data Script, use the following Script Function:
Name | Description | Syntax |
---|---|---|
Used for embedding the path to a Data Script. |
|
|
Upon task instance execution, the Controller will resolve ${_scriptPath('<script_name>')
} and replace it with a token representing the path to the embedded Data Script in the following format: $(ops_unv_script_path_<script-sys_id>)
.
For every Data Script embedded in a Data Script, the Controller will resolve ${_scriptPath('script_name')
} (if Resolve UAC Variables is enabled for the Data Script), and look for additional Data Script references (and Resolvable Credentials references). This process will continue until no additional Data Script references are found.
For each Data Script reference, the Controller will send UAG the Data Script Content, file extension, and the corresponding token - $(ops_unv_script_path_<script-sys_id>)
- that would represent a reference to that Content, which would ultimately be temporarily written to the UAG file system.
UAG will replace any tokens within the Script Content, Universal Template Script, Command, or Parameters with the appropriate file path associated with the Data Script Content. UAG also will replace any tokens within each Data Script Content.
Additionally, for a Universal Template, you can create a Field of Type = Script, which lets you select or create Data Scripts. The Controller will create a variable for the Data Script Field, which you can embed in the Universal Template script using the Script Functions. This also lets you change Scripts when you run a Universal Task based on the Universal Template.
For every embedded Script, the Script Type must be Data; otherwise, the task will transition to the Start Failure status with one of the following status descriptions:
Execution for script "script-name", contained within the Universal Template Script, prohibited due to script type constraint; only Data script type permitted.
Execution for script "script-name", contained within the command field or parameters field prohibited due to script type constraint; only Data script type permitted.
Execution for script "script-name", contained within the script "script-name", prohibited due to script type constraint; only Data script type permitted.
For every embedded Data Script, the Execution User must have Execute permission for the Data Script; otherwise, the task instance will transition to the Start Failure status with one of the following status descriptions:
Execution for script "script-name", contained within a Universal Template Script or script, prohibited due to security constraints.
Execution for script "script-name", contained within a script, command field, or parameters field, prohibited due to security constraints.
Step 1 | From the Automation Center navigation pane, select Other > Scripts. The Scripts list displays a list of all existing scripts. |
---|---|
Step 2 | Enter / select Details for a new script, using the field descriptions below as a guide.
To display more of the Details fields on the screen, you can either:
|
Step 3 | Click a |
To open an existing record on the list, either:
|
The following Script Details is for an existing script. See the field descriptions, below, for a description of all fields that display in the Script Details.
For information on how to access additional details - such as Metadata and complete database Details - for Scripts (or any type of record), see Records.
The following table describes the fields, buttons, and tabs that display in the Script Details.
Field Name | Description | ||
---|---|---|---|
Details | This section contains detailed information about the Script. | ||
Name | |||
Version | |||
Description | |||
Member of Business Services | |||
| Type of script:
| ||
| Controls whether or not the Script will be parsed in pursuit of Universal Controller variables. It allows the Controller to avoid the overhead of parsing a Script that does not contain variables.
| ||
| For UDM Scripts, Source and Destination credentials are available for use. The credentials can be coded into the UDM script using the following File Transfer variables: The variables will be resolved by UDM internally. The following example illustrates the correct way to code them:
| ||
Metadata | This section contains Metadata information about this record. | ||
UUID | Universally Unique Identifier of this record. | ||
Updated By | Name of the user that last updated this record. | ||
Updated | Date and time that this record was last updated. | ||
Created By | Name of the user that created this record. | ||
Created | Date and time that this record was created. | ||
Buttons | This section identifies the buttons displayed above and below the Script Details that let you perform various actions. | ||
Save | Saves a new script record in the Controller database. | ||
Save & New | Saves a new record in the Controller database and redisplays empty Details so that you can create another new record. | ||
Save & View | Saves a new record in the Controller database and continues to display that record. | ||
New | Displays empty (except for default values) Details for creating a new record. | ||
Update | |||
| Allows you to upload a script from the local file system and place it in the Content field (see Uploading a Script, below). | ||
Copy | Creates a copy of this script, which you are prompted to rename. | ||
Delete | |||
Refresh | Refreshes any dynamic data displayed in the Details. | ||
Close | For pop-up view only; closes the pop-up view of this task. | ||
Tabs | This section identifies the tabs across the top of the Script Details that provide access to additional information about the script. | ||
Tasks | Lists of all tasks using this script. | ||
Notes | |||
Versions |
To upload a script into the Content field in the Script Details:
Step 1 | Click the Upload Script button. The Script File Uploader pop-up displays. |
---|---|
Step 2 | Click the Choose File button and select a script from the local file system. |
Step 3 | From the Select file encoding drop-down list, select the character set of the script: ISO-8859-1, US-ASCII, UTF-8, UTF-16, UTF-16BE, or UTF-16LE. |
Step 4 | Click the Submit button to add the script to the Content field. |