Compare-Object on $null array
11,385
Solution 1
Help on Compare-object says:
If the reference set or the difference set is null ($null), Compare-Object generates a terminating error.
So your only options would seem to be a trap or try/catch.
Solution 2
This accepts null values:
Compare-Object -ReferenceObject @($Value1 | Select-Object) -DifferenceObject @($Value2 | Select-Object)
Solution 3
if($Value1 -eq $NULL){
return
}
Compare-Object -ReferenceObject $Value1 -DifferenceObject $Value2
Solution 4
This does something if null:
if ($Value1 -ne $null -and $Value2 -ne $null) {
Compare-Object -ReferenceObject $Value1 -DifferenceObject $Value2
}
else {
#do something
}
Author by
ScriptingBerry
Updated on July 28, 2022Comments
-
ScriptingBerry over 1 year
Is there a way for the Compare-Object cmdlet to anticipate on $Null values?
For example when I'm trying to compare 2 values like this:
Compare-Object -ReferenceObject $Value1 -DifferenceObject $Value2
I commonly get the following error:
Cannot bind argument to parameter 'ReferenceObject' because it is null
My question is: Is there a way to say: if either one of them equals $null ; do something