У меня есть сценарий, который я написал, однако, хотя он работает нормально, я столкнулся с препятствием: не все мои пользователи находятся в одном домене, и сценарий извлекает данные только из одного домена.

Как мне настроить свой сценарий, чтобы он также привлекал пользователей из другого домена?

Вот мой сценарий:

Get-Content -Path c:\test\test.csv |
    ForEach-Object {
        Get-Aduser -Identity $_ -Properties 'GivenName', 'Surname', 'DisplayName', 'Manager' |
        Select-Object `
            'GivenName',
            'Surname',
            'DisplayName',
            @{Name='Manager'; Expression={If ($_.Manager) {(Get-Aduser -Identity $_.Manager -Properties DisplayName).DisplayName} Else {''}}}
    } | Export-Csv -Path C:\test\results.csv -NoTypeInformation
0
Chris Newton 3 Дек 2019 в 17:30
Какая информация содержится в вашем входном файле? У него есть домен? И второе, все ли домены находятся в одном лесу?
 – 
Gabriel Luci
3 Дек 2019 в 17:52
Хорошие вопросы! Мой исходный файл — это просто список имен пользователей, которые я выгрузил из одного из своих приложений. В исходном файле нет информации о домене. Да все домены находятся в одном лесу. Спасибо!
 – 
Chris Newton
3 Дек 2019 в 18:00

1 ответ

Поскольку все ваши домены находятся в одном лесу, вы можете запрашивать глобальный каталог вместо контроллера домена. GC вернет результаты для всех доменов в лесу. Обычно все контроллеры домена также являются GC, но каждая роль отвечает на свой порт (3268). Так что это должно быть так же просто, как указать, какой порт использовать.

Вы можете сделать это, используя параметр -Server каждый раз, когда вы используете Get-ADUser, например:

Get-ADUser -Identity $_ -Server "example.com:3268" -Properties 'GivenName', 'Surname', 'DisplayName', 'Manager'

Где example.com — это DNS-имя вашего домена (или конкретное имя контроллера домена, если вы этого хотите).

Вы также можете использовать этот ответ, который установит параметр -Server для каждого командлета, связанного с AD, без вашего участия. приходится его указывать.

Свойства, которые вы ищете здесь, в порядке, но имейте в виду, что не все атрибуты реплицируются в GC.

Это все порты, которые использует AD:

  • 389 — порт LDAP по умолчанию. Это используется, если вы не укажете порт.
  • 636 — LDAP через SSL (LDAPS) для зашифрованной связи.
  • 3268 - Глобальный каталог
  • 3269 - GC через SSL
0
Gabriel Luci 3 Дек 2019 в 18:17