You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you'd like to contribute to this project, please review the [Contribution Guidelines](https://github.com/PowerShell/DscResources/blob/master/CONTRIBUTING.md).
if ($DesiredValues.GetType().FullName -notin$types)
110
112
{
111
113
throw ("Property 'DesiredValues' in Test-DscParameterState must be either a Hashtable or CimInstance. Type detected was $($DesiredValues.GetType().FullName)")
@@ -115,13 +117,13 @@ function Test-DscParameterState
115
117
{
116
118
throw ("If 'DesiredValues' is a CimInstance then property 'ValuesToCheck' must contain a value")
@@ -135,19 +137,19 @@ function Test-DscParameterState
135
137
}
136
138
else
137
139
{
138
-
$desiredType= [psobject]@{
139
-
Name='Unknown'
140
+
$desiredType= [psobject]@{
141
+
Name='Unknown'
140
142
}
141
143
}
142
-
144
+
143
145
if ($null-ne$CurrentValues.$key)
144
146
{
145
147
$currentType=$CurrentValues.$key.GetType()
146
148
}
147
149
else
148
150
{
149
-
$currentType= [psobject]@{
150
-
Name='Unknown'
151
+
$currentType= [psobject]@{
152
+
Name='Unknown'
151
153
}
152
154
}
153
155
@@ -164,7 +166,7 @@ function Test-DscParameterState
164
166
Write-Verbose-Message ('NOTMATCH: PSCredential username mismatch. Current state is {0} and desired state is {1}'-f$CurrentValues.$key.UserName,$desiredValuesClean.$key.UserName)
165
167
$returnValue=$false
166
168
}
167
-
169
+
168
170
# Assume the string is our username when the matching desired value is actually a credential
169
171
if ($currentType.Name-eq'string'-and$CurrentValues.$key-eq$desiredValuesClean.$key.UserName)
170
172
{
@@ -177,10 +179,10 @@ function Test-DscParameterState
177
179
$returnValue=$false
178
180
}
179
181
}
180
-
182
+
181
183
if (-not$TurnOffTypeChecking)
182
-
{
183
-
if (($desiredType.Name-ne'Unknown'-and$currentType.Name-ne'Unknown') -and
184
+
{
185
+
if (($desiredType.Name-ne'Unknown'-and$currentType.Name-ne'Unknown') -and
184
186
$desiredType.FullName-ne$currentType.FullName)
185
187
{
186
188
Write-Verbose-Message "NOTMATCH: Type mismatch for property '$key' Current state type is '$($currentType.Name)' and desired type is '$($desiredType.Name)'"
@@ -193,22 +195,22 @@ function Test-DscParameterState
193
195
Write-Verbose-Message "MATCH: Value (type $($desiredType.Name)) for property '$key' does match. Current state is '$($CurrentValues.$key)' and desired state is '$($desiredValuesClean.$key)'"
194
196
continue
195
197
}
196
-
198
+
197
199
if ($desiredValuesClean.GetType().Name -in'HashTable','PSBoundParametersDictionary')
Write-Verbose-Message "MATCH: Value (type $($desiredType.Name)) for property '$key' does match. Current state is '$($CurrentValues.$key)' and desired state is '$($desiredValuesClean.$key)'"
209
211
continue
210
212
}
211
-
213
+
212
214
if ($desiredType.IsArray)
213
215
{
214
216
Write-Verbose-Message "Comparing values in property '$key'"
@@ -237,33 +239,33 @@ function Test-DscParameterState
237
239
}
238
240
else
239
241
{
240
-
$desiredType= [psobject]@{
242
+
$desiredType= [psobject]@{
241
243
Name='Unknown'
242
244
}
243
245
}
244
-
246
+
245
247
if ($null-ne$currentArrayValues[$i])
246
248
{
247
249
$currentType=$currentArrayValues[$i].GetType()
248
250
}
249
251
else
250
252
{
251
253
$currentType= [psobject]@{
252
-
Name='Unknown'
254
+
Name='Unknown'
253
255
}
254
256
}
255
-
257
+
256
258
if (-not$TurnOffTypeChecking)
257
259
{
258
-
if (($desiredType.Name-ne'Unknown'-and$currentType.Name-ne'Unknown') -and
260
+
if (($desiredType.Name-ne'Unknown'-and$currentType.Name-ne'Unknown') -and
259
261
$desiredType.FullName-ne$currentType.FullName)
260
262
{
261
263
Write-Verbose-Message "`tNOTMATCH: Type mismatch for property '$key' Current state type of element [$i] is '$($currentType.Name)' and desired type is '$($desiredType.Name)'"
262
264
$returnValue=$false
263
265
continue
264
266
}
265
267
}
266
-
268
+
267
269
if ($desiredArrayValues[$i] -ne$currentArrayValues[$i])
268
270
{
269
271
Write-Verbose-Message "`tNOTMATCH: Value [$i] (type $($desiredType.Name)) for property '$key' does match. Current state is '$($currentArrayValues[$i])' and desired state is '$($desiredArrayValues[$i])'"
@@ -276,20 +278,20 @@ function Test-DscParameterState
276
278
continue
277
279
}
278
280
}
279
-
281
+
280
282
}
281
-
}
282
-
else
283
+
}
284
+
else
283
285
{
284
286
if ($desiredValuesClean.$key-ne$CurrentValues.$key)
285
287
{
286
288
Write-Verbose-Message "NOTMATCH: Value (type $($desiredType.Name)) for property '$key' does not match. Current state is '$($CurrentValues.$key)' and desired state is '$($desiredValuesClean.$key)'"
287
289
$returnValue=$false
288
290
}
289
-
290
-
}
291
+
292
+
}
291
293
}
292
-
294
+
293
295
Write-Verbose-Message "Result is '$returnValue'"
294
296
return$returnValue
295
297
}
@@ -308,7 +310,7 @@ function Test-DSCObjectHasProperty
308
310
[OutputType([bool])]
309
311
param
310
312
(
311
-
[Parameter(Mandatory=$true)]
313
+
[Parameter(Mandatory=$true)]
312
314
[object]
313
315
$Object,
314
316
@@ -317,11 +319,11 @@ function Test-DSCObjectHasProperty
317
319
$PropertyName
318
320
)
319
321
320
-
if ($Object.PSObject.Properties.Name-contains$PropertyName)
322
+
if ($Object.PSObject.Properties.Name-contains$PropertyName)
321
323
{
322
324
return [bool] $Object.$PropertyName
323
325
}
324
-
326
+
325
327
return$false
326
328
}
327
329
@@ -377,10 +379,12 @@ function New-InvalidOperationException
0 commit comments