Setting parameters in a PowerShell script and passing them to the next step
At every change of status in job chains Job Scheduler parses a temporary file for name=value pairs. The name/value pairs will be set as order parameters for subsequent jobs. The name of the temporary file is available with the environment variable SCHEDULER_RETURN_VALUES. See also How to pass parameters to subsequent jobs in a job chain for an example how to pass parameters between shell jobs.
The example below describes a job chain with two steps. Both are running the generic job presented in How to configure a generic PowerShell job to execute a PowerShell script within JobScheduler.
First Step: set a parameter for the next step in the job chain
$A = "myParamPowerShellParam" $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?ih1. 25119
Second Step: get the parameter from the previous step
"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?ih1. 25119
Job Chain
The xml representation of the 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>
Click the parameter button shown in the image above to specify the parameters for the selected job chain node.
The parameter for the first step:
The parameter for the second step:
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