RegEx для поиска похожих строк в PowerShell - PullRequest
0 голосов
/ 12 июня 2018

Я получил переменную, которая содержит список пользователей (в виде строки).Некоторые из этих пользователей имеют похожие имена.Единственное, что отличается, это то, что они заканчиваются символом "$".

Пример:

FRANK
FRANK$

Я хочу получить список всех этих пользователей с похожими именами.Так что, если бы у меня был этот список:

MAX
FRANK
FRANK$
HARRY
HARRY$
JULIA
TOM

Я только хочу получить в списке FRANK, FRANK $, HARRY и HARRY $, а затем проверить, не является ли свойство mail пользователя AD пустым.

Это я так далеко, но шаблон не подходит:

$users = get-aduser -filter * | where givenname -ne $null | select -ExpandProperty name
select-string -InputObject $users -Pattern "[A-Z]+\$" 

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Вот один из способов найти подходящих пользователей:

$users = Get-ADUser -Filter * | 
            Where-Object GivenName -ne $null |
                Group-Object @{e={$_.Name -replace '\$',''}} |
                    Where-Object Count -gt 1

Вы можете снова получить доступ к реальному объекту пользователя, например так:

$users.Group
0 голосов
/ 12 июня 2018

Шаблон должен быть [A-Z]+[$]?, т. Е. Ноль или одно вхождение литерала $.

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