Kah*_*Kah 3 powershell where-clause
我有一个以这种方式检索的 Active Directory 用户列表:
$users = Get-AdUser -Filter {(Enabled -eq "True" )} -Properties Description
Run Code Online (Sandbox Code Playgroud)
问题是我有一组基于他们的描述的特定用户:
我所做的是创建这样的子列表:
$Admins = $users | Where-Object Description -eq 'Administrator'
Run Code Online (Sandbox Code Playgroud)
然而问题是,没有标准化。创建用户的人可以写“Admin”或“Administrator”或“adm”,...这会导致我的子列表不包含所有作为管理员的用户。
我所做的是创建了一个字符串数组:
$Admin_User_Strings = @("adm", "admin", "administrator")
Run Code Online (Sandbox Code Playgroud)
我想在我的子列表中使用这个数组,但这似乎不起作用:
$Admins = $users | Where-Object $Admin_User_Strings -contains Description
Run Code Online (Sandbox Code Playgroud)
我得到错误:
Where-Object :找不到接受参数“System.Object[]”的位置参数。
所以我的问题是,我怎样才能让以下行:
$Admins = $users | Where-Object Description -eq 'Administrator'
Run Code Online (Sandbox Code Playgroud)
接受更多“管理员”输入方式?
小智 13
您有多种选择:
$users | Where-Object {$Admin_User_Strings -contains $_.Description}
或者: $users | Where-Object $_.Description -in $Admin_User_Strings
或者: $users | Where-Object $_.Description -match "adm|admin|administrator"
归档时间: |
|
查看次数: |
14372 次 |
最近记录: |