我正在尝试搜索用户数组,并根据不包含值的名称将数组分为两个列表,但是我得到的用户仍然包含我要搜索的字符串。
我应该在AD中搜索残疾用户,并根据他们的姓名将他们分开。
我尝试了以下操作:
$users = Get-ADUser -Filter {Enabled -ne $True}
foreach ($user in $users) {
$user.Name | Where-Object {$_.Name -ne "Slack*"}
}
我应该看到一个单独的用户列表,其名称中带有“ Slack *”。
答案 0 :(得分:0)
我相信这就是您想要的。它将拉出所有被禁用的用户,然后创建您要查找的内容的过滤列表
[System.Collections.ArrayList]$Users = @(
Get-ADUser -Filter {Enabled -eq $false}
)
[System.Collections.ArrayList]$Filtered_Users = @(
$Users | Where-Object { $_.Name -notmatch "Slack" }
)
foreach ($User in $Filtered_Users) {
$Users.Remove($User)
}
-ne
将查找完全匹配
-notmatch
应该返回不包含您过滤依据的所有内容
-match
将为您显示过滤条件
已编辑以添加要从$Users
中删除的示例