【问题标题】:compare-object not displaying all differences比较对象不显示所有差异
【发布时间】:2015-07-08 17:11:41
【问题描述】:

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

这是我跑的:

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

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

Compare-Object $a $b | ft -AutoSize

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

【问题讨论】:

  • 那是偶然的主要群体吗?因为我们看不到数据,所以在黑暗中拍摄。如果您手动比较这两个列表,您会得到相同的结果吗?我们不知道您在哪里进行了这些比较。
  • 尝试将其更改为| Select -ExpandProperty Name,看看是否更适合您
  • @TheMadTechnician 我认为这无关紧要,但这是我现在打赌的问题。我刚刚测试并得到了不同的结果。 compare-object-Property 参数也可以使用
  • 你们明白了。谢谢。

标签: powershell permissions compare active-directory-group


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 2012-04-23
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多