Skip to content

Commit 67ee365

Browse files
committed
feat: enhance scheduled task management by adding duplicate name prevention and improved removal feedback
1 parent 0ed29f7 commit 67ee365

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecSetCIPPAutoBackup.ps1

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,18 @@ function Invoke-ExecSetCIPPAutoBackup {
2828
ScheduledTime = $unixtime
2929
Recurrence = '1d'
3030
}
31-
Add-CIPPScheduledTask -Task $TaskBody -hidden $false
31+
Add-CIPPScheduledTask -Task $TaskBody -hidden $false -DisallowDuplicateName $true
3232
$Result = @{ 'Results' = 'Scheduled Task Successfully created' }
33+
} elseif ($Request.Body.Enabled -eq $false) {
34+
$Table = Get-CIPPTable -TableName 'ScheduledTasks'
35+
$AutomatedCIPPBackupTask = Get-AzDataTableEntity @table -Filter "Name eq 'Automated CIPP Backup'" -Property RowKey, PartitionKey, ETag
36+
if ($AutomatedCIPPBackupTask) {
37+
Remove-AzDataTableEntity -Force @Table -Entity $AutomatedCIPPBackupTask | Out-Null
38+
$Result = @{ 'Results' = 'Scheduled Task Successfully removed' }
39+
} else {
40+
$Result = @{ 'Results' = 'No existing scheduled task found to remove' }
41+
}
42+
3343
}
3444
Write-LogMessage -headers $Request.Headers -API $Request.Params.CIPPEndpoint -message 'Scheduled automatic CIPP backups' -Sev 'Info'
3545
return ([HttpResponseContext]@{

0 commit comments

Comments
 (0)