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`ом...
Только вот экспортировать я ее правильно не могу, не получается у меня...
Пример что получается при таком экспорте:
#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`ом...