在用户数组中搜索专有名称

时间:2019-04-30 15:44:23

标签: powershell active-directory

我正在尝试搜索用户数组,并根据不包含值的名称将数组分为两个列表,但是我得到的用户仍然包含我要搜索的字符串。

我应该在AD中搜索残疾用户,并根据他们的姓名将他们分开。

我尝试了以下操作:

$users = Get-ADUser -Filter {Enabled -ne $True}

foreach ($user in $users) {
    $user.Name | Where-Object {$_.Name -ne "Slack*"}
}

我应该看到一个单独的用户列表,其名称中带有“ Slack *”。

1 个答案:

答案 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中删除的示例