Setting Parameter in Shell-Scripts and put them to the next node(s) in job chains.
At every change of status in job chains Job Scheduler parses a temporary file for "namh1. value" pairs. The "namevalue" pairs will be set as order params. The name of the temporary file is availabe with the environment variable SCHEDULER_RETURN_VALUES.
The sample below describes a job chain with two steps. Both are running the generic job PowerShellExecutor to run a powershell script within a JobScheduler job.
First Step: set a parameter for the next step in the job chain (powershell_with_parameter_set.ps1)
$A="myParam=PowerShellParam" $A | out-file -encoding ASCII $env:scheduler_return_values get-content $env:scheduler_return_values exit $lastexitcode # to change the policy for using powershell you can use this .adm file: # http://www.microsoft.com/download/en/confirmation.aspx?id=25119
Second Step: get the parameter sets in the first step (powershell_with_parameter_get.ps1)
"job-node parameter from the previous step:" "myParam=$env:SCHEDULER_PARAM_myParam" exit $lastexitcode # to change the policy for using powershell you can use this .adm file: # http://www.microsoft.com/download/en/confirmation.aspx?id=25119
Job Chain
<job_chain> <job_chain_node state="100" job="PowerShellExecutor" next_state="150" error_state="error"/> <job_chain_node state="150" job="PowerShellExecutor" next_state="200" error_state="error"/> <job_chain_node state="success"/> <job_chain_node state="error"/> </job_chain>
The parameters for the job chain nodes are defined in a separated configuration file :
<settings> <job_chain name="powershell_with_parameter"> <note language="de"/> <note language="en"/> <order> <params/> <process state="100"> <note language="de"/> <note language="en"/> <params> <param name="Script_Filename" value="$\{SCHEDULER_DATA\}\config\live\samples\90_powerShell\powershell_with_parameter_set.ps1"/> <note language="de"> <div xmlns="http://www.w3.org/1999/xhtml"/> </note> <note language="en"/> </params> </process> <process state="150"> <note language="de"/> <note language="en"/> <params> <param name="Script_Filename" value="$\{SCHEDULER_DATA\}\config\live\samples\90_powerShell\powershell_with_parameter_get.ps1"/> <note language="de"> <div xmlns="http://www.w3.org/1999/xhtml"/> </note> <note language="en"/> </params> </process> </order> </job_chain> </settings>
related downloads:
see also: