@@ -14,37 +14,41 @@ function Test-CIPPRerun {
1414 default { throw " Unknown type: $Type " }
1515 }
1616 $CurrentUnixTime = [int ][double ]::Parse((Get-Date - UFormat % s))
17+ $EstimatedNextRun = $CurrentUnixTime + $EstimatedDifference
18+
1719 try {
1820 $RerunData = Get-CIPPAzDataTableEntity @RerunTable - filter " PartitionKey eq '$ ( $TenantFilter ) ' and RowKey eq '$ ( $Type ) _$ ( $API ) '"
1921 if ($RerunData ) {
2022 if ($Settings -and $RerunData.Settings ) {
2123 Write-Host ' Testing rerun settings'
22- $PreviousSettings = $RerunData.Settings | ConvertFrom-Json - ErrorAction SilentlyContinue
23- $CompareSettings = Compare-Object - ReferenceObject $Settings - DifferenceObject $PreviousSettings - ErrorAction SilentlyContinue
24- Write-Host " Compare settings is: $ ( $CompareSettings | ConvertTo-Json - Compress - Depth 10 ) "
25- if ($CompareSettings ) {
24+ $PreviousSettings = $RerunData.Settings
25+ $NewSettings = $ ($Settings | ConvertTo-Json - Depth 10 - Compress)
26+ if ($NewSettings.Length -ne $PreviousSettings.Length ) {
27+ Write-Host " $ ( $NewSettings.Length ) vs $ ( $PreviousSettings.Length ) - settings have changed."
28+ $RerunData.EstimatedNextRun = $EstimatedNextRun
29+ $RerunData.Settings = " $ ( $Settings | ConvertTo-Json - Depth 10 - Compress) "
30+ Add-CIPPAzDataTableEntity @RerunTable - Entity $RerunData - Force
2631 return $false # Not a rerun because settings have changed.
2732 }
2833 }
2934 if ($RerunData.EstimatedNextRun -gt $CurrentUnixTime ) {
3035 Write-LogMessage - message " Standard rerun detected for $ ( $API ) . Prevented from running again." - tenant $TenantFilter - user $ExecutingUser - Sev ' Info'
3136 return $true
3237 } else {
33- $EstimatedNextRun = $CurrentUnixTime + $EstimatedDifference
3438 $RerunData.EstimatedNextRun = $EstimatedNextRun
35- $RerunData.Settings = " $ ( $Settings | ConvertTo-Json - Depth 10 ) "
36- Add-CIPPAzDataTableEntity @RerunTable - Entity $RerunData
39+ $RerunData.Settings = " $ ( $Settings | ConvertTo-Json - Depth 10 - Compress ) "
40+ Add-CIPPAzDataTableEntity @RerunTable - Entity $RerunData - Force
3741 return $false
3842 }
3943 } else {
4044 $EstimatedNextRun = $CurrentUnixTime + $EstimatedDifference
4145 $NewEntity = @ {
4246 PartitionKey = " $TenantFilter "
4347 RowKey = " $ ( $Type ) _$ ( $API ) "
44- Settings = " $ ( $Settings | ConvertTo-Json - Depth 10 ) "
48+ Settings = " $ ( $Settings | ConvertTo-Json - Depth 10 - Compress ) "
4549 EstimatedNextRun = $EstimatedNextRun
4650 }
47- Add-CIPPAzDataTableEntity @RerunTable - Entity $NewEntity
51+ Add-CIPPAzDataTableEntity @RerunTable - Entity $NewEntity - Force
4852 return $false
4953 }
5054 } catch {
0 commit comments