Introduction
Script Tasks in Altiris 7.x have 2 types of Tokens available. The more well know token type can be found in the 7.x Symantec Management Console under Settings > Deployment > Tokens. These tokens provide data to the script at run time through database queries, an example being %COMPNAME% which adds the computer's name to the task instance being started. There is plenty of documentation on this type of token so I won't be including any further details in this article.
The second type of token is what I'm currently calling Unmanaged Tokens that look like %!Some Text!% and allow for manual input when a task is scheduled against a target. I call them unmanaged because they're not managed outside the script(s) that use them like the other type are. If anyone knows what this type of token is really called please let me know, documentation is basically non-existent.
Unmanaged Tokens
My example is a small computer rename script written in vbscript. Saving the following into a Script Task will cause the Quick Run button to be hidden requiring that the script be executed through the New Schedule button, this is because Altiris identified %!New Computer Name!% in the script.
NewPCName = "%!New Computer Name!%"
If NewPCName = "" then WScript.quit 13
If NewPCName = "%COMPNAME%" then WScript.quit 13
Set objWMIService = GetObject("Winmgmts:root\cimv2")
' Call always gets only one Win32_ComputerSystem object.
For Each objComputer in objWMIService.InstancesOf("Win32_ComputerSystem")
Return = objComputer.rename(NewPCName,"","")
If Return <> 0 Then
WScript.quit Err.Number
Else
WScript.quit 0
End If
Next
Clicking New Schedule results in a standard virtual window with one addition, there's an input box named after whatever is between the %! !% symbols as seen in the following image. Multiple tokens can be used in a single script.
Note: This example script must be configured with domain credentials that allow for changing a machine's name in Active Directory. I believe technically the AD permissions are create/delete objects.
Jobs
When including these scripts in client jobs more functionality is exposed. As seen in the next image.
With the task highlighted in the job you see the Task Input options on the right. By default "Prompt me for task input each time this job is run" is selected. Using one of the other options like "use a set value" allow you to re-use the same script in many jobs each with their own value based on the job's purpose. <EDIT>The option to "use output from a previous task" combined with script name - Script output only works if the previous tasks output is only the value, vbscripts that include the logo text in the output don't work so a Command Prompt script is better.</EDIT> I also haven't seen any difference between the original default option and "prompt at run time".
Conclusion
In addition to Script Tasks I've also found these tokens useful in SQL Query tasks, and they appear to be standard in many Automation Policy tasks. For those interested the input values are stored in the TaskInputParameterValue table and and can be referenced by TaskInstanceGuid and includes a Name column for the token and the Value.
Hopefully the information in this article is useful to others.
Credit: I don't remember the name of the script but I got the idea to start researching these tokens a few years ago based on a script from a DS 7.1 sample pack.