2 つの PowerShell オブジェクトの値を比較できることはわかっています。
PS> $A = [PsCustomObject]@{"A"=1; "B"=$True; "C"=$False}
PS> $B = [PsCustomObject]@{"A"=1; "B"=$False; "C"=$False}
PS> Compare-Object $A $B -Property A, B, C
A B C SideIndicator
- - - -------------
1 False False =>
1 True False <=
ただし、 2 つの PowerShell オブジェクトのプロパティの存在を比較する必要があります。
これらのオブジェクトは同じと見なされます。
PS> $A = [PsCustomObject]@{"A"=1; "B"=$True; "C"=$False}
PS> $B = [PsCustomObject]@{"A"=1; "B"=$False; "C"=$True}
PS> Compare-Foo $A $B
True
これらのオブジェクトは同じではないと見なされます:
PS> $A = [PsCustomObject]@{"A"=1; "C"=$False}
PS> $B = [PsCustomObject]@{"A"=1; "B"=$False; "C"=$False}
PS> Compare-Foo $A $B
False
これを行う良い方法はありますか?