Skip to content

Commit

Permalink
startTime delete everytime
Browse files Browse the repository at this point in the history
  • Loading branch information
RomanSebranek committed Jun 11, 2024
1 parent ec2d772 commit 1c77009
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 70 deletions.
139 changes: 70 additions & 69 deletions Tasks/Manage-AutomationAccount/Manage-AutomationAccount.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,76 @@ if (Check-Scope -Scope $scope -RequiredScope 'JobSchedules') {
$allSchedules = Get-AutoObject -objectType Schedules
$existingRunbooks = Get-AutoObject -objectType Runbooks

# Comparing shedule changes
Write-Host "Comparing changes in Schedules..."
$definitionsSchedules = @(Get-DefinitionFiles -FileType Schedules)
foreach ($defSchedule in $definitionsSchedules) {

Write-Host "Checking Schedule: $($defSchedule.Name)"

$changesDetected = $false
$respSchedule = Get-ScheduleDetail -Name $($defSchedule.Name)

# compare StartTime property
$definitionStartTime = [datetime]::Parse($defSchedule.startTime).ToString("HH:mm:ss")
$responseStartTime = [datetime]::Parse($respSchedule.properties.startTime).ToString("HH:mm:ss")
if ($definitionStartTime -ne $responseStartTime) {
Write-Host "Change detected in startTime property: $definitionStartTime -> $responseStartTime"
$changesDetected = $true
}
else {
Write-Host "No changes detected for startTime property..."
}

# compare Interval property
if ($defSchedule.Interval -ne $respSchedule.properties.Interval) {
Write-Host "Change detected in interval property: $($defSchedule.interval) -> $($respSchedule.properties.interval)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for Interval property..."
}

# compare Frequency property
if ($defSchedule.Frequency -ne $respSchedule.properties.Frequency) {
Write-Host "Change detected in Frequency property: $($defSchedule.Frequency) -> $($respSchedule.properties.Frequency)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for Frequency property..."
}

# compare MonthDays property
if ($defSchedule.MonthDays -ne $respSchedule.properties.MonthDays) {
Write-Host "Change detected in MonthDays property: $($defSchedule.MonthDays) -> $($respSchedule.properties.MonthDays)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for MonthDays property..."
}

# compare WeekDays property
if ($defSchedule.WeekDays -ne $respSchedule.properties.WeekDays) {
Write-Host "Change detected in WeekDays property: $($defSchedule.WeekDays) -> $($respSchedule.properties.WeekDays)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for WeekDays property..."
}
# delete obsolite jobSchedules
if ($changesDetected) {
Write-Host "Time to delete JobSchedules from old Schedules $($defSchedule.Name) version...!"
foreach ($jobSchedule in $alljobSchedules) {
if ($jobSchedule.properties.schedule.name -eq $defSchedule.Name) {
Write-Host "Removing JobSchedule: $($jobSchedule.properties.jobScheduleId)"
Remove-AutoObject -Name $jobSchedule.properties.jobScheduleId -objectType JobSchedules
}
}
}

Write-Host "-------------------------------"
}

$managedSchedules = @()
foreach ($def in $definitions) {
"Checking runbook existence: $($def.runbookName)"
Expand Down Expand Up @@ -630,75 +700,6 @@ if (Check-Scope -Scope $scope -RequiredScope 'JobSchedules') {

$managedSchedules += $jobSchedule
}
# Comparing shedule changes
Write-Host "Comparing changes in Schedules..."
$definitionsSchedules = @(Get-DefinitionFiles -FileType Schedules)
foreach ($defSchedule in $definitionsSchedules) {

Write-Host "Checking Schedule: $($defSchedule.Name)"

$changesDetected = $false
$respSchedule = Get-ScheduleDetail -Name $($defSchedule.Name)

# compare StartTime property
$definitionStartTime = [datetime]::Parse($defSchedule.startTime).ToString("HH:mm:ss")
$responseStartTime = [datetime]::Parse($respSchedule.properties.startTime).ToString("HH:mm:ss")
if ($definitionStartTime -ne $responseStartTime) {
Write-Host "Change detected in startTime property: $definitionStartTime -> $responseStartTime"
$changesDetected = $true
}
else {
Write-Host "No changes detected for startTime property..."
}

# compare Interval property
if ($defSchedule.Interval -ne $respSchedule.properties.Interval) {
Write-Host "Change detected in interval property: $($defSchedule.interval) -> $($respSchedule.properties.interval)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for Interval property..."
}

# compare Frequency property
if ($defSchedule.Frequency -ne $respSchedule.properties.Frequency) {
Write-Host "Change detected in Frequency property: $($defSchedule.Frequency) -> $($respSchedule.properties.Frequency)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for Frequency property..."
}

# compare MonthDays property
if ($defSchedule.MonthDays -ne $respSchedule.properties.MonthDays) {
Write-Host "Change detected in MonthDays property: $($defSchedule.MonthDays) -> $($respSchedule.properties.MonthDays)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for MonthDays property..."
}

# compare WeekDays property
if ($defSchedule.WeekDays -ne $respSchedule.properties.WeekDays) {
Write-Host "Change detected in WeekDays property: $($defSchedule.WeekDays) -> $($respSchedule.properties.WeekDays)"
$changesDetected = $true
}
else {
Write-Host "No changes detected for WeekDays property..."
}
# delete obsolite jobSchedules
if ($changesDetected) {
Write-Host "Time to delete JobSchedules from old Schedules $($defSchedule.Name) version...!"
foreach ($jobSchedule in $alljobSchedules) {
if ($jobSchedule.properties.schedule.name -eq $defSchedule.Name) {
Write-Host "Removing JobSchedule: $($jobSchedule.properties.jobScheduleId)"
Remove-AutoObject -Name $jobSchedule.properties.jobScheduleId -objectType JobSchedules
}
}
}

Write-Host "-------------------------------"
}

if ($fullSync) {
"Removing unmanaged job schedules"
Expand Down
2 changes: 1 addition & 1 deletion vss-extension.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "Manage-AutomationAccount",
"name": "Manage-AutomationAccount",
"version": "1.9.108",
"version": "1.9.109",
"publisher": "GreyCorbelSolutions",
"targets": [
{
Expand Down

0 comments on commit 1c77009

Please sign in to comment.