Powershell Query для отображения всех учетных записей в группе AD или OU - PullRequest
0 голосов
/ 23 сентября 2019

Меня попросили экспортировать детали всех учетных записей служб в нашем домене AD.Кажется прямолинейным, но я обнаружил, что за эти годы не было последовательного способа контроля учетных записей служб.У нас есть подразделение Service Accounts OU, а также группа безопасности AD Service Account.Некоторые учетные записи находятся в подразделении, но не в группе, некоторые в группе, но в другом случайном подразделении, некоторые в обоих.

Я могу запросить каждый из них по отдельности:

Группа

Get-ADGroupMember GROUP.ServiceAccounts

OU

Get-ADUser -SearchBase "OU=Service Accounts,OU=Accounts,DC=Domain,DC=com" -filter *

Как я могу объединить оба в один запрос powershell?

1 Ответ

0 голосов
/ 23 сентября 2019

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

$searchBase = '*OU=Service Accounts,OU=Accounts,DC=Domain,DC=com'
$groupDN = 'CN=Group Name,OU=Groups,DC=Domain,DC=com'
Get-Aduser -Filter * |
    Where-Object { $_.DistinguishedName -like $searchBase -or $_.MemberOf -contains $groupDN}

Вам необходимо обновить $groupDN с фактическим выделеннымназвание вашей группы.Если бы вы могли найти более эффективный способ -Filter на DistinguishedName, вы могли бы сделать это быстрее с параметром -Filter.


Альтернативное решение:

Более эффективным способом было бы объединить ваши результаты в массив объектов.

$array1 = Get-ADGroupMember $Group
$array2 = Get-ADUser -SearchBase "OU=Service Accounts,OU=Accounts,DC=Domain,DC=com" -filter *
$array1,$array2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...