Создание пользователей Active Directory + транслитерация

Windows PowerShellВ рамках проекта по созданию нового леса/домена Active Directory на 10к+ пользователей, возникла необходимость в создании инструмента, удовлетворяющего следующим требованиям:

  • Созданием пользователей будут заниматься региональные администраторы;
  • Необходима транслитерация имен и фамилий пользователей согласно постановлению кабинета министров Украины;
  • Должен быть достаточный создан уровень удобства для администраторов при автоматическом заведении пользователей.

За не продолжительное время был написал PowerShell скрипт, листинг которого ниже:

Теперь разберем наших баранов:

  1. Путь к файлу csv содержащий данные пользователей задается в вызываемом стандартном окне проводника. В качестве защиты от дурака, сделан фильтр по маске расширения файла. Пример файла вы можете скачать тут. Необходимо обратить внимание на параметр Delimiter, так как он опционален.
  2. Транслитерация выполнена в виде отдельной функции. Во время ее работы имена и фамилии пропускаются через хэш-таблицу соответствия украинских и латинских символов. Источником служит постановление кабинета министров Украины от 27.01.2010 №55
  3. Для определение конечного организационного подразделения куда будут созданы пользователи, используется функция. Она создает графический интерфейс каталога Active Directory с помощью PowerShell. Функция была взята у пользователя supercheetah, ссылка на источник — Active Directory (AD) PowerShell picker/GUI · GitHub 
  4. Пользователи создаются простым циклом. В качестве предохранителя внедрена проверка наличия создаваемого пользователя. Хочу обратить внимание на строку формирования имени пользователя  — $Username = $($FirstnameEN.Substring(0,1) + «.» + $LastnameEN;).ToLower(). В качестве принятого стандарта имени пользователя  согласовано использование первой буквы имени и фамилии полностью, разделяемые точкой. В масштабах организации это приемлемая политика именования, так как могут возникать дубликаты. Если такие будут, достаточно использовать две буквы имени и фамилию.

Подводим итоги. Представленный выше скрипт позволит значительно автоматизировать процесс создания пользователей Active Directory попутно выполняя транслитерацию имен и фамилий. Как писал выше, причины побудившие на его написания колоссальные объемы создаваемых пользователей. Но это никто не мешает его использовать и в меньших организациях.

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии