Войти

Показать полную графическую версию : экспорт контактов из AD


dosperados
29-12-2011, 12:25
Есть необходимость экспортировать контакты из службы каталогов Active Directory.

Только вот экспортировать я ее правильно не могу, не получается у меня...
Пример что получается при таком экспорте:


#TYPE Selected.System.__ComObject
"LastName","Email1Address","CompanyName","Department","JobTitle"
"Петров Петр Петрович","p.petrov@company.ru","ООО Компани","Отдел информационных технологий","Начальник отдела"
"Сидоров Петр Петрович","p.sidorov@company.ru","ООО Компани","Отдел информационных технологий",""


вот пример кода где я пытаюсь получить контакты из AD

#OU в котором ищем контакты
$OU = [ADSI]"LDAP://OU=пользователи,DC=contoso,DC=kem"

#Ищем в заданном OU объекты типа контакт
$oSelector = New-Object system.DirectoryServices.DirectorySearcher
$oSelector.SearchRoot = $OU
$oSelector.Filter = ‘(mail=*)’
# экспорт контактов из АД
$oUsers = $oSelector.FindAll()

# пробовал вот так
$oUsers | % {$ADmail += $_.Properties.name, $_.Properties.mail, $_.Properties.company, $_.Properties.Department, $_.Properties.Title}
$ADmail | Export-Csv -NoClobber -Encoding utf8 -Path ADEmail.csv

# пробовал вот так
$oUsers | $_.Properties.name, $_.Properties.mail, $_.Properties.company, $_.Properties.Department, $_.Properties.Title | Export-Csv -Encoding utf8 -Path ADEmail.csv

Пробовал и много других способов, но это либо ошибку выдавало, либо экспортировало что-то непонятное...
Помогите кто знает как тут сделать правильно...
Необходимо чтобы получилось также как при работе с Outlook`ом...

dosperados
29-12-2011, 12:55
Возможно уже есть решение данной проблемы, но мне необходимо что бы это работало на уровне функций без дополнительных модулей (наприме таких как от фирмы Quest)

Kazun
29-12-2011, 13:16
$oUsers | Foreach {
$user = $_.Properties
New-Object PsObject -Property @{
Name = [string]$user.name
Mail = [string]$user.mail
Company = [string]$user.company
Department = [string]$user.department
Title = [string]$user.title
}
} | Export-Csv -NoClobber -Encoding utf8 -Path ADEmail.csv

dosperados
29-12-2011, 14:09
Kazun, Спасибо я так и хотел создать объект с параметрами только не знал как это делается...
теперь есть пример, Спасибо... буду пользоваться этим)




© OSzone.net 2001-2012