【发布时间】:2020-10-03 18:23:24
【问题描述】:
我对 Powershell 和 AD 完全陌生,因此您的解释可能需要明确一些。
我可以列出我域中的所有用户。现在我试图只列出属于Power Users 组的用户。我认为我的过滤器是错误的,因为我什么也没得到。我读到用memberOf 过滤也不是一个好主意,对吗?
...
$DEntry = New-Object System.DirectoryServices.DirectoryEntry
$DSearcher = New-Object System.DirectoryServices.DirectorySearcher([ADSI]$LDAPPPath)
$DSearcher.SearchRoot = $DEntry
$DSearcher.filter = "(&(objectCategory=person) (memberOf=CN=Power Users))"
$R = $DSearcher.FindAll()
# Print R ...
可能存在 sintaxis 错误,但这也不起作用:
$DSearcher.filter = "memberOf=CN=Users"
我也试过全名:
$DSearcher.filter = "memberOf=CN=Users,DC=example,DC=com"
【问题讨论】:
-
您有一个名为“超级用户”的组吗?这通常是 LOCAL 组,而不是 AD 组。对于本地组,您可以使用
Get-LocalGroupMember -Group 'Power Users' -
您没有使用 AD powershell 模块的任何具体原因?
-
是的,
Power Users和Users存在。我尝试使用Users,因为它没有空格,以防万一出现语法错误。 AD PS 模块未安装/可用。
标签: powershell active-directory