【问题标题】:How To search for user across all domains?如何在所有域中搜索用户?
【发布时间】:2018-02-05 18:20:37
【问题描述】:

我正在编写一个 Powershell 脚本来获取特定用户组的密码到期。这些用户属于我们组织中的不同域(世界各地)。

我使用Get-Aduser 来完成这项工作。该脚本仅适用于运行该脚本的用户。因此,如果脚本是从美国运行的,Get-AdUser 只会找到来自美国的用户。

如何搜索所有域?

我试过了

Get-AdUser -Server <GlobalCatalog> [...]

如果没有-Server,这确实有相同的结果

【问题讨论】:

  • 尝试在你的命令中包含全局目录端口Get-AdUser -Server GlobalCatalogServer.contoso.com:3268
  • 我这样做了,结果还是一样。它只搜索脚本运行所在域下的使用。
  • 使用 -Server 它总是搜索 under: 'DC=subdomain,DC=company,DC=com'
  • 运行时是否列出了您正在使用的 GC:Get-ADDomainController -Discover -Service GlobalCatalog
  • 没有。我只看到一个主机名。

标签: powershell active-directory


【解决方案1】:

您是否尝试过使用以下内容:

Get-ADUser -Filter {(yourFilterCondition)} -SearchBase "" -Server X.Y.Z.W:3268 -Properties desiredProperties | select-object...

SearchBase 设置为“”是这里的关键。并且,还尝试在 3268 端口上执行查询,以读取来自所有域的值。

【讨论】:

  • 我应该在-searchbase 中提供什么?我尝试给-searchbase "dc=company,dc=com" 省略dc=domain 但结果相同。在我的情况下,端口不是问题,因为我为服务器提供了端口。
  • @KK99 - Searchbase 应设置为空 -SearchBase "" 如我的回答所示,您需要查询端口号 3268。检查这是否有帮助。
  • 添加这个-SearchBase ""会导致错误Get-ADUser : Parameter set cannot be resolved using the specified named parameters.
  • @KK99 - 您是否在 LDAP 查询中包含了服务器端口 3268?你可以发布你正在执行的完整行吗?我很难相信它会抛出这种类型的错误。
  • @KK99 - 您似乎没有检查Get-ADUser 的语法; SearchBase 仅在您应用过滤条件时适用。如果您要检查我的答案,我已经在脚本中显示了一个 filterCondition。查看官方链接:docs.microsoft.com/en-us/powershell/module/addsadministration/…
猜你喜欢
  • 1970-01-01
  • 2013-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 2019-03-09
相关资源
最近更新 更多