Skip to content

Scheduling Jobs

The Scheduled Jobs page allows administrators to create recurring script execution jobs that run automatically on a defined schedule using cron expressions. Scheduled jobs eliminate the need to manually queue the same job repeatedly and ensure consistent script execution across your environment over time.


Understanding scheduled jobs:

A schedule defines the parameters for a recurring script execution and the frequency at which it should run using a cron expression. When a schedule becomes due the PowerShell Orchestrator Server automatically creates a new job with a status of Pending. The assigned agent claims the job on its next poll cycle and executes the script as normal.

Scheduled jobs are materialized as standard jobs — they appear in the Jobs page and follow the same lifecycle as manually queued jobs (Pending → Running → Completed or Failed).


Prerequisites:

Before creating a schedule confirm the following:

  • At least one PowerShell Orchestrator Agent is registered and showing as Online in the Clients page
  • At least one target is configured in the Targets page
  • At least one PowerShell script is available in the server script library
  • The intended agent has the required permissions and PowerShell modules to execute the selected script

Accessing the Scheduled Jobs page:

  1. Log in to the PowerShell Orchestrator Server web interface at https://<server-name>:52866
  2. Navigate to Scheduled Jobs in the main navigation

The Scheduled Jobs page displays all configured schedules with the following information:

Column Description
Name The descriptive name of the schedule
Script The PowerShell script assigned to the schedule
Client The agent assigned to execute the script
Target The syslog destination for script output
Cron Expression The schedule pattern defining when jobs are created
Next Run The calculated next execution time
Enabled Whether the schedule is currently active

Creating a new schedule:

  1. Click Add Schedule
  2. Fill in the schedule details:

Name (required) A descriptive name for the recurring schedule:

Examples:

Daily User Audit

Weekly AD Group Assessment

Monthly Privilege Review

Hourly Service Account Check

Script (required) Select the PowerShell script to execute from the available script library.

Client (required) Select the registered agent that will execute the script. The selected agent must have the required permissions and PowerShell modules for the chosen script.

Target (required) Select the syslog destination where script output will be forwarded.

Cron Expression (required) Define the schedule using a cron expression. The format is:

minute hour day-of-month month day-of-week

Cron field ranges:

Field Range Description
Minute 0–59 Minute of the hour
Hour 0–23 Hour of the day
Day of Month 1–31 Day of the month
Month 1–12 Month of the year
Day of Week 0–6 Day of the week — Sunday = 0

Cron expression examples:

Schedule Expression Description
Every 5 minutes */5 * * * * Runs every 5 minutes
Hourly 0 * * * * Runs at minute 0 of every hour
Daily at 2 AM 0 2 * * * Runs at 2:00 AM every day
Weekly on Monday at 2 AM 0 2 * * 1 Runs at 2:00 AM every Monday
Monthly on the 1st at 2 AM 0 2 1 * * Runs at 2:00 AM on the 1st of each month

Script Parameters (if applicable) If the selected script requires parameters configure them here. These parameter values will be used every time the schedule fires.

  1. Click Save Schedule

The schedule is saved and the Next Run time is calculated based on the cron expression. The server will automatically create a new job when the scheduled time is reached.


Enabling and disabling schedules:

To temporarily suspend a schedule without deleting it:

  1. Locate the schedule in the Scheduled Jobs list
  2. Click the Enabled toggle switch
  3. The schedule is disabled and will not create new jobs until re-enabled

To re-enable a disabled schedule:

  1. Locate the schedule in the list
  2. Click the Enabled toggle switch again

Disabled schedules are retained with all their configuration intact and can be re-enabled at any time. The Next Run time is recalculated when the schedule is re-enabled.


Editing a schedule:

  1. Locate the schedule in the Scheduled Jobs list
  2. Click the Edit button next to the schedule
  3. Modify the settings as needed — name, script, client, target, cron expression, or parameters
  4. Click Save Changes

Changes to a schedule take effect from the next scheduled run. Any job already created and currently Pending or Running from the previous schedule configuration will complete using its original settings.


Deleting a schedule:

Deleting a schedule permanently removes it and stops future jobs from being created. Any jobs already created by the schedule that are currently Pending or Running are not affected and will complete normally.

  1. Locate the schedule in the Scheduled Jobs list
  2. Click the Delete button next to the schedule
  3. Confirm the deletion

Viewing scheduled job history:

Each time a schedule fires it creates a job that appears in the Jobs page. To review the execution history of a specific schedule:

  1. Navigate to Jobs
  2. Filter or search by the script name or client associated with the schedule
  3. Review the list of jobs created by the schedule with their status and timestamps

Monitoring scheduled job health:

Use the Jobs page to confirm scheduled jobs are running as expected:

  1. Navigate to Jobs
  2. Filter by the script name used in the schedule
  3. Review the most recent job created by the schedule
  4. Confirm:
    • The job was created at approximately the expected time based on the cron expression
    • The status shows Completed
    • The duration is consistent with previous runs
  5. If a scheduled job has not been created at the expected time check:
    • The schedule is set to Enabled

The PowerShell Orchestrator service is running on the server:
Get-Service PowerShellOrchestrator

  • The assigned agent is Online and able to claim jobs

The server logs for scheduler errors:
C:Program FilesLTA_PSOrchestratorlogs


Best practices:

  • Use descriptive schedule names that clearly communicate the purpose and frequency of the recurring execution
  • Schedule resource-intensive scripts outside of business hours to minimize impact on target machines and the network
  • Use the Enabled toggle to temporarily suspend schedules during maintenance windows rather than deleting and recreating them
  • Confirm the assigned agent is consistently Online before creating a schedule — an agent that is frequently offline will result in jobs remaining Pending and executions being missed
  • Review scheduled job results in LT Auditor MP regularly to ensure scripts are producing the expected output
  • Retain job execution records as an ongoing audit trail of automated script activity across your environment
  • Test new scripts manually using the Jobs page before adding them to a schedule to confirm they execute correctly

[Your administrator should document all configured schedules including the script, cron expression, assigned agent, and target so the automated execution program is fully auditable.]