From 95b704ae961c350182d873d350bd234b47c18e64 Mon Sep 17 00:00:00 2001 From: Sam Erde <20478745+SamErde@users.noreply.github.com> Date: Wed, 6 May 2026 05:13:56 -0400 Subject: [PATCH] Fix template enabled-state assigned inside CA loop Move Add-Member calls for Enabled and EnabledOn outside the inner foreach-ca loop so that both properties are computed across all enrollment services before being assigned to the template object. Previously, Add-Member was called on every CA iteration, writing intermediate (potentially incomplete) state to the template object and performing O(n_cas) unnecessary property assignments per template. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Invoke-Locksmith.ps1 | 5 ++--- Private/Set-AdditionalTemplateProperty.ps1 | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Invoke-Locksmith.ps1 b/Invoke-Locksmith.ps1 index 9c2b6db..dd1661b 100644 --- a/Invoke-Locksmith.ps1 +++ b/Invoke-Locksmith.ps1 @@ -3476,10 +3476,9 @@ function Set-AdditionalTemplateProperty { $Enabled = $true $EnabledOn += $ca.Name } - - $template | Add-Member -NotePropertyName Enabled -NotePropertyValue $Enabled -Force - $template | Add-Member -NotePropertyName EnabledOn -NotePropertyValue $EnabledOn -Force } + $template | Add-Member -NotePropertyName Enabled -NotePropertyValue $Enabled -Force + $template | Add-Member -NotePropertyName EnabledOn -NotePropertyValue $EnabledOn -Force } } } diff --git a/Private/Set-AdditionalTemplateProperty.ps1 b/Private/Set-AdditionalTemplateProperty.ps1 index 1e25345..043530b 100644 --- a/Private/Set-AdditionalTemplateProperty.ps1 +++ b/Private/Set-AdditionalTemplateProperty.ps1 @@ -38,10 +38,9 @@ $Enabled = $true $EnabledOn += $ca.Name } - - $template | Add-Member -NotePropertyName Enabled -NotePropertyValue $Enabled -Force - $template | Add-Member -NotePropertyName EnabledOn -NotePropertyValue $EnabledOn -Force } + $template | Add-Member -NotePropertyName Enabled -NotePropertyValue $Enabled -Force + $template | Add-Member -NotePropertyName EnabledOn -NotePropertyValue $EnabledOn -Force } } }