Перейти к публикации
Программа учета компьютеров и ИТ оборудования 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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

×