Получите имя подразделения, не имея слишком много информации в PowerShell

Я пытаюсь получить метод для динамического поиска имени OU.

Проблема в том, что компания-имя-OU всегда рядом, но содержимое может измениться.

Например:

введите описание изображения здесь

В этом случае название компании, которое я должен получить (в моем сценарии), - "Microsoft".

Однако я не нашел метод, который может сделать это динамически.

Поскольку subOU могут различаться (для каждого клиента не все клиенты имеют одинаковые OU), довольно сложно найти хороший метод для получения названия компании.

Я думал о retrieve the OU that is made by an Admin and has more than 10 objects но Get-ADOrganizationalUnitКомандлет не имеет параметра, который звучит как created by:

введите описание изображения здесь

Нужно ли сдаваться или есть какой-то способ?

РЕДАКТИРОВАТЬ

Я попытался обойти "алгоритмический" вид вещи:

Поскольку OU, скорее всего, будет содержать пользователей, я проверяю отличительные имена всех пользователей, которые ответят

Get-ADUser -Filter {Description -like "Member"} | Select DistinguishedName

CN=User1,OU=User,OU=Microsoft,DC=domain,DC=local

Как я мог начать делать расчеты (подсчеты) каждого из подразделений?

1 ответ

Решение

Если вы создали все свои подразделения, то вы получите администраторов домена. Когда я бегу

Get-ADOrganizationalUnit -Filter * -Properties * | Select @{N="Owner";E={$_.nTSecurityDescriptor}}

Я получаю прикрепленное изображение (усечено)

Если вы можете определить, было ли подразделение создано после всех подразделений по умолчанию, вы можете включить фильтр WhenCreated с помощью оператора Where, например:

$DefaultOUCreationDate = Get-ADOrganizationUnit CN=Users,DC=domain,DC=local -Properties * | Select -ExpandProperty WhenCreated
Get-ADOrganizationalUnit -Filter * -Properties * | Where { $_.WhenCreated -ge $DefaultOUCreationDate }
Другие вопросы по тегам