【发布时间】:2025-12-03 12:35:01
【问题描述】:
我正在尝试使用 PowerShell 中的 AD 模块搜索 Active Directory。我正在尝试确定给定用户是否在给定的全局组中。问题是我使用的是-match,这意味着如果用户名中包含另一个用户名,例如包含“smith_p”的“smith_pl”。用户“smith_p”将显示在该组中。
所以我的问题是:是否有更好的方法来获得 $True 或 $False 回报,具体取决于用户是否在使用 AD 模块的给予全局组中?
如果没有
有没有办法将$ListOfmembers 的输出放入数组中,以便我可以使用-eq 而不是-match?
部分脚本:
$ListOfmembers = dsquery group domainroot -name $globalgroup |
dsget group -members |
dsget user -samid -L
$checkMember = $False
#Search if the user is in output the list
If($ListOfmembers -match $Logonname){
$checkMember = $True
}
ListOfmembers 输出:
samid: user05_t
samid: user23_s
samid: Admin
samid: user45_s
dsget succeeded
任何帮助将不胜感激,干杯。
【问题讨论】:
标签: powershell active-directory dsquery