Получите имя подразделения, не имея слишком много информации в 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 }