Импорт учетных записей пользователей ldap

Спасибо, буду пробовать.

Коллеги, добрый день!

Подскажите пожалуйста, пытаюсь настроить синхронизацию, подготовил CSV файл, запускаю synchro_import.php.
Выходит ошибка #Unknown column ‘Last Name’ (class: ‘Person’), изменил имя колонки #Unknown column ‘Фамилия*’ (class: ‘Person’), побывал разные варианты, не выходит (((

Пытаюсь синхронизировать контакты (Person).

Потому что у Person нет таких колонок, посмотрите аттрибуты Person, должны быть колонки name, first_name

на name тоже ругается #Unknown column ‘name’ (class: ‘Person’)

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

$MyFile='c:\inetpub\wwwroot\itop\data\person.csv' $MyPath='c:\inetpub\wwwroot\itop\data\person.csv' $MyFile = Get-Content $MyPath $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False) [System.IO.File]::WriteAllLines($MyPath, $MyFile, $Utf8NoBomEncoding)
Эта часть скрипта как раз преобразует csv файл в кодировке utf8 в utf8 без bom, без этого не будет работать.

1 лайк

Спасибо большое, помогло, дело в кодировки.

Пробую сейчас синхронизировать пользователей LDAP (UserLDAP), получается, но без привязки Персоне (Person).
Для привязки нужно заполнить поле contactid, у кого нибудь получилось сделать автозаполнение этой колонки?

Скрипт я полностью не выкладывал, но сразу после первой выгрузки из ad для синхронизации Person, идет следующая выгрузка для синхронизации External User:

"группа из ad"| get-ADGroupMember | Get-ADUser -properties mail, mail, samaccountname, company | select -Unique @{n='primary_key';e={$_.mail}}, @{n='contactid';e={$_.mail}}, @{n='login';e={'ваш domain\'+$_.samaccountname}}, @{n='language';e={'RU RU'}}, @{n='profile_list';e={'profileid->name:Portal user'}}, @{n='allowed_org_list';e={'allowed_org_id->name:'+$_.company}} | ConvertTo-Csv -Delimiter ";" -NoTypeInformation | % { $_ -replace '"', ""} | out-file "c:\inetpub\wwwroot\itop\data\external_user.csv" -fo -en utf8

Затем опять преобразование кодировки и команда php…
Привязка contactid идет по email, в настройках синхронизации это можно указать:

1 лайк

Спасибо большое! Все получилось!