Compare arrays to get those that don't match

I’ve two arrays: $Servers and $obj, both contain Node and Instance.

How can I get the values in $obj that doesn’t exist in $Servers?

I’ve tried Compare-Object and also tried

 $Servers | Where { $Obj -NotContains $}
which gives me the exact opposite of what I want, but when I try
 $obj | Where { $Servers -NotContains $}
it includes values it should not.

eg: $Obj

Node Instance
---- --------
SQNDE-P03 COMMAND
SQNDE-P03 PROD03
SQNDE-P03 PROD04
SQNDE-P03 PROD05
SQNDE-P02 COMMAND
SQNDE-P02 PROD03
SQNDE-P02 PROD04
SQNDE-P02 PROD05
SQNDE-P01 COMMAND
SQNDE-P01 PROD03
SQNDE-P01 PROD04
SQNDE-P01 PROD05

 

eg: $Servers

Node Instance
---- --------
SQNDE-P03 PROD03
SQNDE-P02 PROD05
SQNDE-P01 DPROD04
SQNDE-P01 COMMAND

Did you specify the properties with Compare-Object?

$obj = @"
Node,Instance
SQNDE-P03,COMMAND
SQNDE-P03,PROD03
SQNDE-P03,PROD04
SQNDE-P03,PROD05
SQNDE-P02,COMMAND
SQNDE-P02,PROD03
SQNDE-P02,PROD04
SQNDE-P02,PROD05
SQNDE-P01,COMMAND
SQNDE-P01,PROD03
SQNDE-P01,PROD04
SQNDE-P01,PROD05
"@ | ConvertFrom-CSV


$servers = @"
Node,Instance
SQNDE-P03,PROD03
SQNDE-P02,PROD05
SQNDE-P01,DPROD04
SQNDE-P01,COMMAND
"@ | ConvertFrom-CSV

Compare-Object -ReferenceObject $obj -DifferenceObject $servers -Property Node,Instance

Output:

Node      Instance SideIndicator
----      -------- -------------
SQNDE-P01 DPROD04  =>
SQNDE-P03 COMMAND  <=
SQNDE-P03 PROD04   <=
SQNDE-P03 PROD05   <=
SQNDE-P02 COMMAND  <=
SQNDE-P02 PROD03   <=
SQNDE-P02 PROD04   <=
SQNDE-P01 PROD03   <=
SQNDE-P01 PROD04   <=
SQNDE-P01 PROD05   <=

I hadn’t specified properties, doing so gives the result expected.

Thanks for your help!