Table of Contents |
---|
Scope
- The script adds an order to a job chain in a JobScheduler Master instance.
- PowerShell script is operational for command line execution with Windows, Linux, MacOS.
- The script is a wrapper that demonstrates usage of the JobScheduler PowerShell CLI.
Script
Download
- Download Add-JobSchedulerOrder.ps1
Usage
Syntax
Add-JobSchedulerOrder.ps1 [-JobChain] <String> [[-Order] <String>] [[-Parameters] <String>]
[[-At] <String>] [[-State] <String>] [[-EndState] <String>] [[-Id] <String>] [[-Url] <Uri>] [[-Credentials]
<PSCredential>] [[-Separator] <String>] [<CommonParameters>]
Help
To display help information execute the following commands:
- Windows
- Get Help Overview
pwsh.exe -c ./Add-JobSchedulerOrder.ps1 -?
- Get Detailed Help
pwsh.exe -c Help ./Add-JobSchedulerOrder.ps1 -Detailed
- Get Help Overview
- Linux, MacOS
- Get Help Overview
./Add-JobSchedulerOrder.ps1 -?
- Get Detailed Help
pwsh -c Help ./Add-JobSchedulerOrder.ps1 -Detailed
- Get Help Overview
Functionality
- The script is executable from the command line
- for Windows by use of the
pwsh.exe
PowerShell interpreter like this:pwsh.exe -f ./Add-JobSchedulerOrder.ps1 -JobChain /bjb/shell_chain -Order sample_order
- for Linux and MacOS by directly calling the script and by implictly using the shebang (
#!/usr/bin/pwsh
) to reference the interpreter like this:./Add-JobSchedulerOrder.ps1 -JobChain /bjb/shell_chain -Order sample_order
- for Windows by use of the
- Use of JobScheduler PowerShelll CLI
Code
Code Block language powershell title Add-JobSchedulerOrder.ps1 collapse true #!/usr/bin/pwsh param ( [Parameter(Mandatory=$True,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $JobChain, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $Order, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [String] $Parameters = '', [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $At = 'now', [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $State, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $EndState, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $Id = $global:JobSchedulerId, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [Uri] $Url = $global:JobSchedulerUrl, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [PSCredential] $Credentials = $global:JobSchedulerCredentials, [Parameter(Mandatory=$False,ValueFromPipeline=$False,ValueFromPipelinebyPropertyName=$True)] [string] $Separator = ';' ) if ( !$Id ) { throw "missing value for parameter -Id" } if ( !$Url ) { throw "missing value for parameter -Url" } if ( !$Credentials -and !$Url.UserInfo ) { throw "missing value for parameter -Credentials" } Import-Module JobScheduler if ( $Url.UserInfo ) { $ws = Use-JobSchedulerWebService -Url $Url -Id $Id } else { $ws = Use-JobSchedulerWebService -Url $Url -Id $Id -Credentials $Credentials } try { $order = Add-JobSchedulerOrder -JobChain $JobChain -Order $Order -At $At -State $State -EndState $EndState -Parameters ( ConvertFrom-StringData -StringData $Parameters.Replace($Separator, "`n") ) } catch { throw $_.Exception } finally { $ws = Use-JobSchedulerWebService -Url $Url -Id $Id -Disconnect }
- Explanations
- Basically the script is about the following operations:
- Import the JobScheduler Module
- Connect to the JOC Cockpit REST Web Service
- Add an order to the JobScheduler Master
- Disconnect from the JOC Cockpit REST Web Service
- Follow above instructions about getting help to see detailed information about parameters
- Basically the script is about the following operations:
Examples
To display examples execute the following commands:
- Windows
- Get Examples
pwsh.exe -c Help ./Add-JobSchedulerOrder.ps1 -Examples
- Get Examples
- Linux, MacOS
- Get Examples
pwsh -c Help ./Add-JobSchedulerOrder.ps1 -Examples
- Get Examples
...