【问题标题】:List all OU with Users列出所有带有用户的 OU
【发布时间】:2017-10-20 14:20:36
【问题描述】:

我正在 PowerShell 中寻找一种方法来列出所有包含用户的 OU。

我用Get-ADUserGet-ADOrganizationalUnit 尝试了一些东西,但它并没有真正起作用。

【问题讨论】:

  • 你尝试了什么确切。这些将是您需要使用的 2 个 cmdlet。你想如何处理递归结果?

标签: powershell active-directory


【解决方案1】:

一种方法是获取所有 OU,并通过-SearchBase 检查它们是否包含任何用户。使用Where-Object 子句过滤掉它们

Get-ADOrganizationalUnit -Filter * | 
    Where-Object {(Get-ADUser -SearchBase $_.DistinguishedName -Filter *).Count -gt 0} | 
    Select-Object -ExpandProperty DistinguishedName 

【讨论】:

    【解决方案2】:

    只需从每个用户对象中提取 OU。然后找到唯一值。

    Get-ADUser -Filter * |
        ForEach-Object {$_.DistinguishedName -replace '(^.*?)(OU=.*)','$2'} |
        Sort-Object -Unique
    

    注意:这假设您没有将用户对象存储在容器中而不是 OU 中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      • 2021-07-23
      相关资源
      最近更新 更多