Перейти к публикации
Программа учета компьютеров и ИТ оборудования IT Invent
ihelpit

Автоматический импорт пользователей из AD: два домена

Рекомендованные сообщения

Доброго дня.

Хочется автоматически импортировать пользователей из AD. Препятствие - два домена. То есть, чтобы импортировать - нужно поменять настройку Заголовок BaseDN. А доступ к этому полю имеет только главный руководитель (т.к. это же и доступ к правам, а туда нельзя всех пускать), да и автоматизировать тогда не получится. Поле хранится, видимо, в БД SQL, то есть создание отдельных пользователей для двух доменов - не вариант. В Power Shell, например, можно запросить BaseDN текущего домена, но вряд ли поле Заголовок BaseDN поддерживает такое.

Может, есть какой-то неочевидный способ обойти ограничение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте,

единственное что можно предложить сделать, это с помощью SQL запроса менять эту настройку. Если получится автоматизировать выполнение SQL то получится автоматизировать и загрузку пользователей из AD с разных доменов.

Данная настройка находится в таблице SETTINGS

Посмотреть можно так

select * from SETTINGS where SETTING_NAME = 'BASE_DN'

blob.thumb.png.ca65b3874bd8474e84dbd4e6af21a9ef.png

поменять настройку можно так

update SETTINGS set SETTING_VALUE = 'DC=DOMAIN_NAME2' where SETTING_NAME = 'BASE_DN'

blob.png.3a0d2adef0aea5a3ffa6a99584091ecf.png

затем можно выполнить импорт данных из AD и поменять настройку обратно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 08.07.2019 в 18:07, Администратор сказал:

затем можно выполнить импорт данных из AD

А можно команду выполнения импорта сделать тем же sql скриптом? 

 

и автоматизировать несколько доменов типа таким скриптом

update SETTINGS set SETTING_VALUE = 'DC=DOMAIN_NAME1' where SETTING_NAME = 'BASE_DN'

команда импорта данных из ад

update SETTINGS set SETTING_VALUE = 'DC=DOMAIN_NAME2' where SETTING_NAME = 'BASE_DN'

команда импорта данных из ад

update SETTINGS set SETTING_VALUE = 'DC=DOMAIN_NAME3 where SETTING_NAME = 'BASE_DN'

команда импорта данных из ад

итд...

 

Или же ключами запуска подобное делать?

Просто у меня есть 7 доменов, очень хочется автоматизации по импорту всех пользователей

 

 

Изменено пользователем ekuzmichev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем ihelpit

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спасибо ihelpit, подсказал свой вариант, мы дополнили его и сделали свою версию для нескольких доменов в одном PowerShell скрипте

 

 

$SqlServer = "SQLSERVER";
$SqlCatalog = "SQLBASE";
$SqlLogin = "SQLLOGIN";
$SqlPassw = "SQLPASSWORD";

$domains = @(
"ou=ПОЛЬЗОВАТЕЛИ1;dc=FILIAL1,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ2;dc=FILIAL2,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ3;dc=FILIAL3,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ4;dc=FILIAL4,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ5;dc=FILIAL5,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ6;dc=FILIAL6,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ7;dc=FILIAL7,dc=DOMAIN,dc=local",
"ou=ПОЛЬЗОВАТЕЛИ8;dc=FILIAL8,dc=DOMAIN,dc=local",)

foreach ($domain in $domains)
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SqlServer; Database=$SqlCatalog; User ID=$SqlLogin; Password=$SqlPassw;"
$SqlConnection.Open()
$SqlCmd = $SqlConnection.CreateCommand()
$SqlCmd.CommandText = "update SETTINGS set SETTING_VALUE = '$domain' where SETTING_NAME = 'BASE_DN'"
$SqlCmd.ExecuteNonQuery()
$SqlConnection.close()
Start-Process -FilePath "c:\Program Files (x86)\IT Invent\ITInvent.exe" -ArgumentList "/UserLogin=ITINVENTUSER /UserPass=ITINVENTPASSWORD /ImportADUsers" -Wait

}

 

проходит 7 кругов (ада). меняет домен в скл, запускает прогу, ждёт окончания работы, меняет на второй домен, и так до последнего домена.

Изменено пользователем ekuzmichev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день!. ребята, подскажите. как при импорте из AD указывать что импортировать, не вижу никаких настроек от слова совсем. и как мне сделать так что б в карточке оборудования у меня высвечивалось в поле Сотрудник не отчество + логин а нормальное фио + логин. уже всю голову сломал. если открыть справочник "Список Сотрудников из справочника", в поле "Сотрудник наименование" у меня отчество + доменный логин. как мне сделать фио + логин? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здравствуйте.

Что импортировать указывается в LDAP запросе в настройка.

image.thumb.png.de89c77e1837fb8f9d90d1c5552012e2.png

 

Формат отображения имени сотрудника настраивается в настройках:

image.thumb.png.70cc45e2ebdd54a17bc91236c613f59a.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×