Получить учетные записи из всех подразделений ServiceAccounts через дочерние домены - PullRequest
0 голосов
/ 18 июня 2019

Мне было поручено предоставить список всех учетных записей служб в нескольких доменах, но они получают только учетные записи от основного домена или получают «реферал был возвращен с сервера»

Если я запускаю приведенный ниже код, он возвращает учетные записи служб из основного домена, но не дочерние домены. Если я отредактирую код и вручную добавлю в один из дочерних доменов, он вернет ошибку «реферал был возвращен с сервера». Я пытался использовать сервер глобального порта и порт (3268) в качестве сервера, но все равно получаю ошибку «переход». Я относительно новичок в PowerShell, поэтому заранее прошу прощения, если я пропустил любую информацию, которая вам так нужна.

$domains = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() | Select Domains

ForEach($domain in $domains.Domains){
    $ous = (Get-ADOrganizationalUnit -Filter "Name -like 'ServiceAccounts'" -Server ($domain.Name) -SearchScope Subtree)    
}

$ous | ForEach-Object{Get-ADUser -Filter * -SearchBase $_.DistinguishedName} | Select SamAccountName | Export-Csv c:\temp\service.csv

В основном мне нужно найти все OU с именем «ServiceAccounts» и экспортировать пользователей каждого в файл csv, как из основного домена, так и из дочерних доменов. Пожалуйста, помогите, спасибо!

1 Ответ

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

В настоящее время вы перезаписываете $ous каждый раз, когда запускается цикл, и, кроме того, вам также необходимо передать соответствующий аргумент Server в Get-ADUser.

Переместите его в цикл foreach(){}:

$domains = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() | Select Domains

$users = foreach($domain in $domains.Domains){
    $ous = Get-ADOrganizationalUnit -Filter "Name -like 'ServiceAccounts'" -Server $domain.Name -SearchScope Subtree
    foreach($ou in $ous){
        Get-ADUser -Filter * -SearchBase $ou.DistinguishedName -Server $domain.Name |Select SamAccountName,@{Name='Domain';Expression = {$domain.Name}}
    }
}

$users | Export-Csv c:\temp\service.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...