--- title: "PowerShell Cmdlets for Trigger Schedules" slug: "powershell-cmdlets-for-trigger-schedules" updated: 2025-07-03T12:04:16Z published: 2025-07-03T12:04:16Z canonical: "support.controlup.com/powershell-cmdlets-for-trigger-schedules" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.controlup.com/llms.txt > Use this file to discover all available pages before exploring further. # PowerShell Cmdlets for Trigger Schedules From ControlUp version 9.0.5 and higher, you can run the following [PowerShell cmdlets](/v1/docs/powershell-cmdlets-for-triggers) to configure trigger [schedules](/v1/docs/setting-up-triggers#what-causes-a-trigger-to-activate) on a machine with a ControlUp Monitor installed: - [Add-CUTriggerSchedule](/v1/docs/powershell-cmdlets-for-trigger-schedules#addcutriggerschedule). Adds a new trigger schedule. - [Update-CUTriggerSchedule](/v1/docs/powershell-cmdlets-for-trigger-schedules#updatecutriggerschedule). Updates an existing trigger schedule. - [Remove-CUTriggerSchedule](/v1/docs/powershell-cmdlets-for-trigger-schedules#removecutriggerschedule). Deletes an existing trigger schedule. - [Get-CUTriggerSchedules](/v1/docs/powershell-cmdlets-for-trigger-schedules#getcutriggerschedules). Lists all schedules configured for triggers in your organization. #### Add-CUTriggerSchedule Adds a new schedule to the schedule repository. Doesn't add a schedule to a trigger. **Syntax** ```powershell Add-CUTriggerSchedule [-Name] [-WeekDays] ``` Add one day with selected hours trigger schedule example: ```powershell $newDayHours = New-Object ControlUp.PowerShell.Common.Contract.Triggers.Schedules.Data.DayHours $newDayHours.Day = "Wednesday" $newDayHours.SelectedHours = @("Nine","Ten", "Eleven") Add-CUTriggerSchedule -Name "My New Schedule" -WeekDays $newDayHours ``` Add two days with different selected hours trigger schedule example: ```powershell $sundayHours = New-Object ControlUp.PowerShell.Common.Contract.Triggers.Schedules.Data.DayHours $mondayHours = New-Object ControlUp.PowerShell.Common.Contract.Triggers.Schedules.Data.DayHours $sundayHours.Day = [System.DayOfWeek]::Sunday $sundayHours.SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Nine -bor [ControlUp.Common.Enums.IncidentScheduleHour]::Ten -bor [ControlUp.Common.Enums.IncidentScheduleHour]::Eleven $mondayHours.Day = [System.DayOfWeek]::Monday $mondayHours.SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Fifteen -bor [ControlUp.Common.Enums.IncidentScheduleHour]::Sixteen -bor [ControlUp.Common.Enums.IncidentScheduleHour]::Seventeen $weekDays = @($sundayHours, $mondayHours) Add-CUTriggerSchedule -Name "MyNewSchedule" -WeekDays $weekDays ``` | Parameters | Description | Required | | --- | --- | --- | | -Name | Name of the trigger schedule | Yes | | -WeekDays | Configuration of the weekdays to schedule the trigger to run. | Yes | | -Day | Each specific day of the week to schedule the trigger to run. You can enter each day only once. | No | | -SelectedHours | Specific hours of each day to schedule the trigger to run. If empty, the specific day won't be added to the trigger schedule. | No | #### Update-CUTriggerSchedule Updates an existing trigger schedule name and/or weekdays settings. **Syntax** ```powershell Update-CUTriggerSchedule [-ScheduleId] [[-Name] ] [[-WeekDays] ] ``` Rename trigger schedule + update hours example: ```powershell Update-CUTriggerSchedule -ScheduleId $scheduleId -Name "Custom Schedule Renamed" -WeekDays @( @{ Day = [System.DayOfWeek]::Monday; SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Zero + [ControlUp.Common.Enums.IncidentScheduleHour]::One + [ControlUp.Common.Enums.IncidentScheduleHour]::Two + [ControlUp.Common.Enums.IncidentScheduleHour]::Three + [ControlUp.Common.Enums.IncidentScheduleHour]::Four }, @{ Day = [System.DayOfWeek]::Tuesday; SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Zero + [ControlUp.Common.Enums.IncidentScheduleHour]::One + [ControlUp.Common.Enums.IncidentScheduleHour]::Two + [ControlUp.Common.Enums.IncidentScheduleHour]::Three }, @{ Day = [System.DayOfWeek]::Wednesday; SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Zero + [ControlUp.Common.Enums.IncidentScheduleHour]::One + [ControlUp.Common.Enums.IncidentScheduleHour]::Two }, @{ Day = [System.DayOfWeek]::Thursday; SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Zero + [ControlUp.Common.Enums.IncidentScheduleHour]::One }, @{ Day = [System.DayOfWeek]::Friday; SelectedHours = [ControlUp.Common.Enums.IncidentScheduleHour]::Zero } ) ``` Update trigger schedule hours to Sunday (hours 9:00-11:00) example: ```powershell Get-CUTriggerSchedules | Where-Object { $_.Id -eq "bb064f8e-a347-4ce9-bdbd-4b245ac748f2" } | Format-List $newDayHours = New-Object ControlUp.PowerShell.Common.Contract.Triggers.Schedules.Data.DayHours $newDayHours.Day = "Sunday" $newDayHours.SelectedHours = @("Nine","Ten") Update-CUTriggerSchedule -ScheduleId bb064f8e-a347-4ce9-bdbd-4b245ac748f2 -WeekDays $newDayHours ``` Add new day to existing trigger schedule: ```powershell Update-CUTriggerSchedule -ScheduleId aeb0b292-f519-401b-9da2-49f001b96184 -WeekDays $weekDays ``` | Parameters | Description | Required | | --- | --- | --- | | -ScheduleId | ID of the trigger schedule | Yes | | -Name | Name of the trigger schedule | No | | -WeekDays | Configuration of the weekdays to schedule the trigger to run. | No | | -Day | Each specific day of the week to schedule the trigger to run. You can enter each day only once. | No | | -SelectedHours | Specific hours of each day to schedule the trigger to run. If empty, the specific day won't be added to the trigger schedule. | No | #### Add-CUTriggerSchedule and Update-CUTriggerSchedule Results Writes single result object to PowerShell with the following properties: - Error. In case of failure, the reason will be displayed. - Success. In case of success, all schedule data (Id, Name, WeekDays) will be displayed. #### Remove-CUTriggerSchedule Deletes an existing trigger schedule. Note that you can't delete a trigger schedule currently in use. **Syntax** ```powershell Remove-CUTriggerSchedule -[ScheduleId] ``` Example: ```powershell Remove-CUTriggerSchedule -[ScheduleId] "1e233ec2-af9b-4453-bd29-1fb20e29e514" ``` | Parameter | Description | Required | | --- | --- | --- | | -ScheduleId | ID of the trigger schedule | Yes | #### Remove-CUTriggerSchedule Results Writes single result object to PowerShell with the following properties: - Error. In case of failure, the reason will be displayed. - Success. In case of success, the trigger is removed and the following message will be displayed: "Schedule '' - was deleted successfully." #### Get-CUTriggerSchedules Lists all built-in and custom schedules configured for triggers in your environment. No parameters are required. Note that built-in schedules don't have a GUID, but a string constant, e.g “All days”, “Weekdays”, etc. **Syntax** ```powershell Get-CUTriggerSchedules ``` #### Get-CUTriggerSchedules Results Writes multiple result objects to PowerShell with the following properties: - Error. In case of failure, the reason will be displayed. - Success. In case of success, returns list of all schedules you can configure to use for triggers with the following properties: PowerShellPowerShell ```powershell -Id -Name -WeekDays { -Day ; -SelectedHours } ``` Results example:![Powershell window displaying Get-CUTriggerSchedules cmdlet output results](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/Get-CUSchedules.png)