2017-10-19 10 views
0

PowerShellの2つのオブジェクトを比較しようとしています。オブジェクトの1つのプロパティを比較し、元のオブジェクトのすべてのプロパティを保持したいと思います。PowerShellでは、さまざまなプロパティを持つオブジェクトを比較し、参照オブジェクトから元のプロパティを保持する方法はありますか?

UserID ID 
aaa 111 
aab 112 
aac 113 
zaa 211 
zab 212 

UserID 
aaa 
aab 
aac 

私は私の出力がなりたい:私は運とCompare-Objectを使用しようとした

UserID ID 
zaa 211 
zab 212 

私は、次のオブジェクトがあります。私は比較のID列を失うか、単なるUserIDプロパティの代わりに行全体を比較しているようです。この比較をどのように達成できますか?

$ObjectsToDelete = Compare-Object -ReferenceObject $DirectoryItemsToSync -DifferenceObject $CurrentUserPropertyValues 

答えて

1
$A 
UserID ID 
------ -- 
aaa 111 
aab 112 
aac 113 
zaa 211 
zab 212 

$B 
UserID 
------ 
aaa 
aab 
aac 

$A | where {$B.UserID -notcontains $_.userid} 

UserID ID 
------ -- 
zaa 211 
zab 212 
1

$DirectoryItemsToSyncUserIdID両方と上部リストであると仮定。

Where-Object Cmdletを使用します。

$DirectoryItemsToSync | Where {($CurrentUserPropertyValues | Select -Expand UserID) -NotContains $_.UserID} 
関連する問題