我正在尝试比较PowerShell中的两个对象。我想比较对象的一个属性并保留原始对象的所有属性。我有以下对象:
UserID ID
aaa 111
aab 112
aac 113
zaa 211
zab 212
UserID
aaa
aab
aac
我希望我的输出为:
UserID ID
zaa 211
zab 212
我尝试使用Compare-Object
但没有运气。似乎我在比较中丢失了ID列,或者它比较了整个行而不仅仅是UserID属性。我怎样才能完成这个比较?
$ObjectsToDelete = Compare-Object -ReferenceObject $DirectoryItemsToSync -DifferenceObject $CurrentUserPropertyValues
答案 0 :(得分:1)
假设$DirectoryItemsToSync
是包含UserId
和ID
的上方列表。
$DirectoryItemsToSync | Where {($CurrentUserPropertyValues | Select -Expand UserID) -NotContains $_.UserID}
答案 1 :(得分: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