Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The JobScheduler Command Line Interface (JCLICLI) can be used to control JobScheduler instances (start, stop, status) and job-related objects such as jobs, job chains, orders, tasks.

The JobScheduler CLI module supports Windows PowerShell 23.0 and newer.

Long Description

...

  • The complete list of cmdlets is available with the command:
    • PS C:\> Get-Command -Module JobScheduler
  • Cmdlets come with a full name that includes the term JobScheduler:
    • PS C:\> Use-JobSchedulerMasterJobSchedulerWebService
  • The term JobScheduler can be abbreviated to JS:
    • PS C:\> Use-JSMasterJSWebService
  • The term JobScheduler can further be omitted if the resulting alias does not conflict with existing cmdlets:
    • PS C:\> Use-MasterWebService
  • Should conflicts occur with existing cmdlets from other modules then no conflicting aliases are created. This includes aliases for cmdlets from the PowerShell Core as e.g. Get-Job, Start-Job, Stop-Job.
    It is recommended to use the abbreviated form Get-JSJob, Start-JSJob etc. Aliases can be forced by use of the cmdlet:
    • PS C:\> . Use-JobSchedulerAlias

...

  • Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJS-1630
  • Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJS-1339
  • Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJS-1620
  • Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJS-1762

 

How to get started with the JobScheduler CLI

...

  • Import Module
    • PS C:\> Import-Module JobScheduler
      • loads the module from a location that is available with the PowerShell module path,
      • see $env:PSModulePath for predefined module locations.
    • PS C:\> Import-Module C:\some_module_location\JobScheduler
      • loads the module from a specific location, absolute and relative paths can be used.
    • Hints
      • The JCLI module will automatically connect to a Master on import of the module if one of the following environment variables is present:
        • SCHEDULER_URL specifies the URL for which the Master is operated.
        • SCHEDULER_ID specifies the unique identification of a Master.
        • SCHEDULER_HOME specifies the installation path of a locally available Master.
      • You can add the command Import-Module JobScheduler to your PowerShell profile to have the module loaded on start of a PowerShell session, see PowerShell CLI - Use Cases - Credentials Management
  • Use JobScheduler Master Instance
    • As a first operation after importing the module it is required to execute the Use-JobSchedulerMaster or Use-JobSchedulerWebService (starting from release 1.11) cmdlets.
    • PS C:\> Use-JobSchedulerMaster <Url>   or   PS C:\> Use-JobSchedulerMaster -Url <Url>   or   PS C:\> Use-JobSchedulerWebService -Url <Url> -Id <JobSchedulerId>
      • specifies the URL for which the JobScheduler Master or REST Web Service is available. This is the same URL that you would use when opening the JOC Cockpit GUI in your browser, e.g. http://localhost:44444446. If you omit the protocol (HTTP/HTTPS) for the URL then HTTP will be used. The -Id parameter specifies the JobScheduler ID of the Master that you intend to connect to.
      • allows to execute cmdlets for the specified Master independently from the server and operating system that the JobScheduler Master is operated for, i.e. you can use PowerShell cmdlets on Windows to manage a JobScheduler Master running on a Linux box and vice versa. As an exception to this rule you cannot start a remote JobScheduler Master and you cannot start a remote JobScheduler Windows service, however, you can restart, terminate, abort and suspend any JobScheduler Master on any platform.
      • specifying the URL is not sufficient to manage the Windows Service of the respective Master, see below.
    • PS C:\> PS C:\> UseUse-JobSchedulerMaster WebService -Url <Url> -Id <JobSchedulerID>
      • references the JobScheduler ID that has been assigned during installation of a Master.
      • adds the JobScheduler ID to the assumed installation base path.
        • A typical base bath would be C:\Program Files\sos-berlin.com\jobscheduler
        • The path is added the subdirectory with the value of the JobScheduler ID
    • PS C:\> Use-JobSchedulerMaster -InstallPath <InstallationPath>
      • specifies the full installation path, e.g. C:\Program Files\sos-berlin.com\jobscheduler\scheduler1.10, for a locally available JobScheduler Master.
    • PS C:\> Use-JobSchedulerMaster -InstallPath $env:SCHEDULER_HOME
      • You can use the environment variable SCHEDULER_HOME that points to the installation path.
      • The JobScheduler CLI module on import checks availability of this environment variable.
    • PS C:\> Use-JobSchedulerMaster -Url <Url> -Id <JobSchedulerID>
      • specify both URL and JobScheduler ID (recommended).
      • determines if the Master with the specified JobSchedulerID is locally available.
    • Hints
  • Manage JobScheduler Objects
    • PS C:\> Show-JobSchedulerStatus
      • shows the summary information for a JobScheduler Master
    • PS C:\> Get-JobSchedulerOrder
      PS C:\> Get-JobSchedulerJobChain
      PS C:\> Get-JobSchedulerJob
      PS C:\> Get-JobSchedulerTask
      • retrieves the list of avaiable objects
    • see the complete list of cmdlets with the cmdlet: Get-Command -Module JobScheduler

...

JobScheduler commands are Windows PowerShell scripts (.ps1 files), so you can run
them at the command line, or in any editor.

  • Makes Import the JobScheduler Master with the specified URL available for use with cmdletsCLI module (assuming that the module is available in one of the directories that are indicated with the $env:PSModulePath.
    • PS C:\> UseImport-JobSchedulerMaster http://localhost:4444
    Makes
    • Module JobScheduler
  • Make the JobScheduler Master with JobScheduler ID scheduler111 available for use with cmdlets that are executed via the REST Web Services from the specified URL.
    • PS C:\> Use-JobSchedulerWebService JobSchedulerWebService -Url http://localhost:4446 -ID Id scheduler111
  • Shows Display the summary information of a JobScheduler Master.
    • PS C:\> Show-JobSchedulerStatus
  • Shows Display the number of tasks that are currently running.
    • PS C:\> (Get-JobSchedulerTask).count
  • Stops Display all running tasks (emergency stop).
    • PS C:\> Get-JobSchedulerTask | Stop-JobSchedulerTask
  • Collects Collect the list of orders from a directory and stores store it in a variable.
    • PS C:\> $orders = Get-JobSchedulerOrder /sos

...