@@ -112,20 +112,32 @@ function Add-SqlDscTraceFlag
112112
113113 $ErrorActionPreference = $originalErrorActionPreference
114114
115+ # Normalize current trace flags: ensure array, remove nulls, cast to UInt32, sort uniquely
116+ $normalizedCurrentTraceFlags = @ ($currentTraceFlags ) |
117+ Where-Object - FilterScript { $null -ne $_ } |
118+ ForEach-Object - Process { [System.UInt32 ] $_ } |
119+ Sort-Object - Unique
120+
121+ # Normalize input trace flags: ensure array, remove nulls, cast to UInt32, sort uniquely
122+ $normalizedInputTraceFlags = @ ($TraceFlag ) |
123+ Where-Object - FilterScript { $null -ne $_ } |
124+ ForEach-Object - Process { [System.UInt32 ] $_ } |
125+ Sort-Object - Unique
126+
127+ # Combine normalized current and input trace flags to get the desired state
115128 $desiredTraceFlags = @ (
116- $currentTraceFlags
117- $TraceFlag
129+ $normalizedCurrentTraceFlags
130+ $normalizedInputTraceFlags
118131 ) |
119- ForEach-Object { [System.UInt32 ] $_ } |
120132 Sort-Object - Unique
121133 $desiredTraceFlags = [System.UInt32 []] $desiredTraceFlags
122134
123- # Compare current and desired trace flags to determine if there's an effective change
124- $compareResult = Compare-Object - ReferenceObject @ ($currentTraceFlags ) - DifferenceObject $desiredTraceFlags
135+ # Compare normalized current and desired trace flags to determine if there's an effective change
136+ $compareResult = Compare-Object - ReferenceObject @ ($normalizedCurrentTraceFlags ) - DifferenceObject $desiredTraceFlags
125137
126138 if ($compareResult )
127139 {
128- $verboseDescriptionMessage = $script :localizedData.TraceFlag_Add_ShouldProcessVerboseDescription -f $InstanceName , ($TraceFlag -join ' , ' )
140+ $verboseDescriptionMessage = $script :localizedData.TraceFlag_Add_ShouldProcessVerboseDescription -f $InstanceName , ($desiredTraceFlags -join ' , ' )
129141 $verboseWarningMessage = $script :localizedData.TraceFlag_Add_ShouldProcessVerboseWarning -f $InstanceName
130142 $captionMessage = $script :localizedData.TraceFlag_Add_ShouldProcessCaption
131143
0 commit comments