Поиск массива пользователей по отличительным именам - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь найти массив пользователей и разделить массив на два списка на основе имени, не содержащего значения, но я получаю пользователей, которые все еще содержат строку, которую я ищу.

Я должен искать в AD отключенных пользователей и разделять их по имени.

Я попробовал следующее:

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

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

Я должен увидеть отдельный список пользователей, в имени которого есть "Slack *".

1 Ответ

0 голосов
/ 30 апреля 2019

Я считаю, что это то, что вы ищете. Он потянет всех пользователей, которые отключены, а затем создаст отфильтрованный список того, что вы ищете

[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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...