Есть ли способ сортировки в DistinguishedName - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь получить список пользователей и хочу отсортировать по последнему OU = в DistinguishedName. Синтаксис, который я использую, не совсем правильный, и мне нужны некоторые указатели. Спасибо

get-aduser -Filter {Enabled -eq $true} -Properties * | where {($_.EmployeeNumber -eq $null) -and ($_.PrimaryGroup -eq 'CN=Domain Users,CN=Users,DC=OURDOMAIN,DC=net')} | FT SamAccountName,Name,EmployeeNumber,DistinguishedName,Created | export-csv Users.csv

1 Ответ

0 голосов
/ 06 июня 2019

Вы можете запросить атрибут msDS-parentdistname в AD. Это относительно новый атрибут, поэтому возможно, что он недоступен в той версии Windows Server, которую вы используете в своей среде. Но вы можете увидеть, если это там.

Это составной атрибут, который означает, что он рассчитывается в тот момент, когда его запрашивают. Но это также означает, что вы должны явно просить об этом (вы не можете использовать -Properties *).

Использование Sort-Object для сортировки вашего списка.

get-aduser -Filter {Enabled -eq $true} -Properties SamAccountName,Name,EmployeeNumber,DistinguishedName,Created,msDS-parentdistname | where {($_.EmployeeNumber -eq $null) -and ($_.PrimaryGroup -eq 'CN=Domain Users,CN=Users,DC=OURDOMAIN,DC=net')} | Sort-Object msDS-parentdistname | FT SamAccountName,Name,EmployeeNumber,DistinguishedName,Created,msDS-parentdistname | export-csv Users.csv
...