我有一个Active Directory的用户列表,我是这样检索到它的:
$users = Get-AdUser -Filter {(Enabled -eq "True" )} -Properties Description
问题在于我有一组特定的用户,根据他们的描述分为以下几类:
- 管理员
- 秘书
- 邮递员
$Admins = $users | Where-Object Description -eq 'Administrator'
然而问题是,没有标准化。创建用户的人可以写'Admin'或'Administrator'或'adm'等,这使得我的子列表不包含所有管理员用户。
我所做的是创建一个字符串数组:
$Admin_User_Strings = @("adm", "admin", "administrator")
我想在我的子列表中使用这个数组,但显然这样做不起作用:
$Admins = $users | Where-Object $Admin_User_Strings -contains Description
我遇到了以下错误:
Where-Object : 找不到接受参数 'System.Object[]' 的位置参数。
因此,我的问题是,如何让下面这行代码正常运行:
$Admins = $users | Where-Object Description -eq 'Administrator'
接受更多“管理员”输入的方式吗?
Where-Object {$Admin_User_Strings -contains $_.Description}
orWhere-Object Description -in $Admin_User_Strings
- Mathias R. JessenWhere-Object Description -like adm*
- Mathias R. Jessen"
或'
:-) - Mathias R. Jessen