File tree Expand file tree Collapse file tree
Modules/CIPPHTTP/Public/Entrypoints/HTTP Functions/Tenant/Standards Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -35,11 +35,26 @@ function Invoke-RemoveStandardTemplate {
3535 Remove-AzDataTableEntity - Force @ScheduledTasksTable - Entity $DriftTask
3636 Write-LogMessage - Headers $Headers - API $APIName - message " Removed drift remediation scheduled task: $ ( $DriftTask.Name ) " - Sev Info
3737 }
38+ $StandardsReportsTable = Get-CIPPTable - TableName ' CippStandardsReports'
39+ $RemovedTemplateIds = @ (@ ($Entities.RowKey ) + $ID | Where-Object { $_ } | Select-Object - Unique)
40+ $OrphanedReports = [System.Collections.Generic.List [object ]]::new()
41+ foreach ($RemovedTemplateId in $RemovedTemplateIds ) {
42+ $SafeTemplateId = ConvertTo-CIPPODataFilterValue - Value $RemovedTemplateId - Type Guid
43+ $Rows = Get-CIPPAzDataTableEntity @StandardsReportsTable - Filter " TemplateId eq '$SafeTemplateId '"
44+ foreach ($Row in $Rows ) { $OrphanedReports.Add ($Row ) }
45+ }
46+ if ($OrphanedReports.Count -gt 0 ) {
47+ Remove-AzDataTableEntity - Force @StandardsReportsTable - Entity @ ($OrphanedReports )
48+ Write-LogMessage - Headers $Headers - API $APIName - message " Removed $ ( $OrphanedReports.Count ) orphaned standards comparison row(s) for template id: $ ( $ID ) " - Sev Info
49+ }
3850
3951 $Result = " Removed Standards Template named: '$ ( $TemplateName ) ' with id: $ ( $ID ) "
4052 if ($DriftTasks ) {
4153 $Result += " . Also removed $ ( @ ($DriftTasks ).Count) associated drift remediation scheduled task(s)."
4254 }
55+ if ($OrphanedReports.Count -gt 0 ) {
56+ $Result += " Cleaned up $ ( $OrphanedReports.Count ) orphaned standards comparison row(s)."
57+ }
4358 Write-LogMessage - Headers $Headers - API $APIName - message $Result - Sev Info
4459 $StatusCode = [HttpStatusCode ]::OK
4560 } catch {
You can’t perform that action at this time.
0 commit comments