Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   экспорт контактов из AD (http://forum.oszone.net/showthread.php?t=224037)

dosperados 29-12-2011 12:25 1824783

экспорт контактов из AD
 
Есть необходимость экспортировать контакты из службы каталогов Active Directory.

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

читать дальше »
Цитата:

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


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

#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 1824805

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

Kazun 29-12-2011 13:16 1824825

Код:

$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 1824875

Kazun, Спасибо я так и хотел создать объект с параметрами только не знал как это делается...
теперь есть пример, Спасибо... буду пользоваться этим)


Время: 13:13.

Время: 13:13.
© OSzone.net 2001-