Любой язык - [решено] Экспорт нужной информации из AD

Ответить
Аватара пользователя
Fantastish

Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Fantastish »

Доброго дня.

Прошу помощи в решении такой задачи.

У каждого пользователя в АД, есть такой параметр "Руководитель">"Имя", а ниже "Прямые подчиненные".

Так вот в чем состоит задача:

Вывести данное поле в xls (csv) и подчиненных ему сотрудников ниже списком.

(необходимо для проверки штатки)

Большое спасибо.

з.ы. предполагаю, что самый просто вариант использовать PS
Аватара пользователя
Kazun

Re: Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Kazun »

Код:

Код: Выделить всё

Get-ADUser -Filter "directreports -like '*'" -Properties directreports | Foreach {
	$manager = $_.Name
	$_.directreports | Select @{n="manager";e={$manager}},@{n="user";e={$_}}
} |  Export-Csv result.csv -Encoding UTF8 -NoTypeInformation
Аватара пользователя
Fantastish

Re: Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Fantastish »

Спасибо большое

добавил Import-Module ActiveDirectory

и вопрос можно ли как то форматировать выгрузку?

1,"CN=2,OU=DomainUsers,OU=3,DC=4,DC=ru"

убрать CN OU DC и исключить отключенных?

и указать конкретную OU откуда смотреть?
Аватара пользователя
Fantastish

Re: Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Fantastish »

Код:

Код: Выделить всё

Get-ADUser -Filter "directreports -like '*'" -Properties directreports -SearchBase "OU=NyJJJ,DC=Contoso,DC=Com" | Foreach {
	$manager = $_.Name
	$_.directreports | Get-ADUser | Where {$_.Enabled} | Select @{n="manager";e={$manager}},@{n="user";e={$_.Name}}
} |  Export-Csv result.csv -Encoding UTF8 -NoTypeInformation
Аватара пользователя
Fantastish

Re: Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Fantastish »

странно конечно, отработал, но выдал такую ошибку

Get-ADUser : Сервер возвратил ссылку

строка:4 знак:31
Аватара пользователя
Fantastish

Re: Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Fantastish »

Если доменов несколько, то вполне нормальное поведение и требуется явно указать -Server, т.к. атрибут directreports не реплицируется в GC:





Код:

Код: Выделить всё

$_.directreports | Foreach {
	$server = $_.split(",") -match "DC=" -replace "DC=" -join "."
	Get-ADUser $_ -Server $server | Where {$_.Enabled}
}| Select @{n="manager";e={$manager}},@{n="user";e={$_.Name}}
Аватара пользователя
Fantastish

Re: Любой язык - [решено] Экспорт нужной информации из AD

Сообщение Fantastish »

странно, но домен один

попробую спасибо

з.ы. с добавление отработало нормально спасибо
Ответить

Вернуться в «Скриптовые языки администрирования Windows»