比较对象未显示所有差异

compare-object not displaying all differences

我的团队有一位新管理员,她遇到了一些权限问题。新管理员在 Exchange PowerShell 中运行的一些东西给出了团队其他人没有得到的奇怪错误,并且 google 无助于弄清楚这些错误的含义。所以我们认为这一定是权限问题。在我的调查中,我 运行 查询了新管理员的组成员资格,然后我想将其与我的进行比较。一切似乎都正常,但是,当我抽查结果时,我注意到 compare-object 命令没有发现所有差异。

这是我运行:

$a = Get-ADPrincipalGroupMembership "me" | select name

$b = Get-ADPrincipalGroupMembership "new admin" | select name

Compare-Object $a $b | ft -AutoSize

它列出了大约 7 个结果,但我马上注意到我在一个以 "A" 开头的组中,而她不在该组中,结果中没有列出。有什么建议吗?

Compare-Object 正在比较两个具有 Name 属性的对象。仍然不完全确定为什么,但比较做得更好,在这种情况下,只用直弦。有基于对象的 technet 示例,这就是为什么我没有立即假设它是相关的。

$a = Get-ADPrincipalGroupMembership "me" | select -expandProperty name
$b = Get-ADPrincipalGroupMembership "new admin" | select -expandProperty name

Compare-Object $a $b | ft -AutoSize

或者您也可以使用 compare-object-Property 参数。

$a = Get-ADPrincipalGroupMembership "me" 
$b = Get-ADPrincipalGroupMembership "new admin"

Compare-Object $a $b -Property Name | ft -AutoSize