получить все ADusers с цифрой c SamAccountName - PullRequest
0 голосов
/ 09 января 2020

Как я могу получить все ADusers с цифрой c SamAccountName. если SamAccountName включает письмо, тогда оно мне не нужно.

$num = Get-AdUser -Filter "SamAccountName  -like [integer]"  -Properties postalCode, postOfficeBox, SamAccountName, Enabled

Ответы [ 2 ]

1 голос
/ 09 января 2020

С помощью -Filter вы не можете проверить, состоит ли SamAccountName только из цифр, и вам придется использовать для этого условие Where-Object, используя оператор регулярного выражения -math.

$users = Get-AdUser -Filter * -Properties PostalCode, POBox, SamAccountName, Enabled | 
         Where-Object { $_.SamAccountName -match '^\d+$' }
0 голосов
/ 09 января 2020

Даже если вы не можете использовать -Filter для краткого завершения запроса, вы можете использовать -Filter, чтобы ускорить время выполнения запроса перед передачей до Where-Object:

$Params = @{ Properties = 'postalCode','postOfficeBox','SamAccountName','Enabled'
         Filter = "samaccountname -like '" + (1,2,3,4,5,6,7,8,9,0 -join "*' -or samaccountname -like '") + "'"
          }

Get-AdUser @Params | Where SamAccountName -match '^\d+$'

Идея состоит в том, чтобы только найти объекты с samaccountname, начинающимися с ди git перед отправкой на Where-Object, что будет отображать только те учетные записи, которые имеют все цифры для значения свойства. Это значительно ускорит время запроса, если у вас будет небольшой процент учетных записей, начинающихся с ди git.

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