Мне нужно запустить скрипт, который вернет мне любое имя sAMAccount в AD, которое находится в заглавной букве - PullRequest
0 голосов
/ 26 ноября 2018

Я нашел ниже команду, которая возвращает все sAMAccountname в AD, которые имеют все заглавные буквы.Я ищу команду, которая вернет мне любое имя sAMAccount в AD, которое находится в заглавной начальной букве.

Get-ADUser -Filter * | ? {$_.sAMAccountname -ceq $_.sAMAccountname.ToUpper()}

Цель состоит в том, чтобы идентифицировать все учетные записи пользователей AD, которые имеют заглавную начальную букву в их * 1004.* имущество;например, Abcd (начальная A буква в верхнем регистре), чтобы позже мы могли преобразовать их в строчные.

1 Ответ

0 голосов
/ 26 ноября 2018

Вам необходимо ограничить свой тест первым символом имени учетной записи :

Get-ADUser -Filter * |
  Where-Object { $_.sAMAccountname[0] -ceq [char]::ToUpper($_.sAMAccountname[0]) }

A более удобочитаемой альтернативой , предложенный Ansgar Wiechers - использовать оператор -clike с шаблоном подстановки:

Get-ADUser -Filter * | Where-Object { $_.SamAccountName -clike '[A-Z]*' }

Caveat : этот ограничивает соответствие ASCIIбуквы диапазона от A до Z и не будут обнаруживать иностранные заглавные буквы, такие как Ö.

...