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:
- Log in to the PowerShell Orchestrator Server web interface at https://<server-name>:52866
- 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:
- Click Add Schedule
- 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.
- 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:
- Locate the schedule in the Scheduled Jobs list
- Click the Enabled toggle switch
- The schedule is disabled and will not create new jobs until re-enabled
To re-enable a disabled schedule:
- Locate the schedule in the list
- 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:
- Locate the schedule in the Scheduled Jobs list
- Click the Edit button next to the schedule
- Modify the settings as needed — name, script, client, target, cron expression, or parameters
- 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.
- Locate the schedule in the Scheduled Jobs list
- Click the Delete button next to the schedule
- 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:
- Navigate to Jobs
- Filter or search by the script name or client associated with the schedule
- 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:
- Navigate to Jobs
- Filter by the script name used in the schedule
- Review the most recent job created by the schedule
- 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
- 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.]