Массовое создание внешних контактов в AD с помощью Powershell

Для почтовика

Техподдержка начала жаловаться, что на создание внешних контактов для почтовой рассылки уходит очень много времени. Был взят скрипт из статьи Создание почтовых контактов в AD с помощью скрипта powershell из файла CSV. Там же полное описание переменных и условия. Отдельно я укажу на что стоит обратить внимание при реализации задуманного.

Загружаем add_contacts_ad Скрипт пакетного создания контактов, размещаем по адресу C:\scripts\add_contacts
Редактируем файл add_contacts.ps1, параметр New-ADObject -Path «OU=Contacts,DC=rdcm,DC=local» — заменяем на свои значения
Сохраняем файл с именем contacts в формате «CSV (разделители — запятые)
Открываем в файл contacts.csv в текстовом редакторе, и заменяем все «;» на «,» (вот этого не было указано в оригинале статьи, и потому скрипт не работал)
После запускаем Powershell (с модулем Active Directory) и исполняем скрипт add_contacts.ps1
Почтовые контакты будут созданы в OU Contacts (если такого подразделения не было, его надо создать).

——————————————-
Для реальных пользователей

Массовый импорт пользователей в Active Directory

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

Опробован на Windows Server 2012R2 + PowerShell, запускать с правами администратора.
Что нужно изменить:

MYDOMAIN.RU — Заменить на ваш домен

ОТКЛЮЧЕННЫЕ — заменить на требуемое Подразделение

Кусочек

Set-ADAccountControl $sAMAccountName -PasswordNeverExpires $True

включает для только что созданной учетной записи «Срок действия пароля не ограничен».

В файле Users_import.csv подразумевается наличие следующих строк (пример):

cn,sn,givenName,initials,company,department,description,City,sAMAccountName,userPassword
Иванов Петр Матвеевич,Иванов,Метр,М,»ООО «»МояФирма»»»,Отдел управления,самый главный,МойГород,ivanov.petr,p@ssWorD123
Петров Сидор Владимирович,Петров,Сидор,В,»ООО «»МояФирма»»»,Аппарат управления,зам. директора,НеМойГород,petrov.sidor,p@ssWorD1234

Список полей:

cn — Полное ФИО
sn — Фамилия
givenName — Имя
initials — Отчество
company — наименование компании
department — наименование отдела
description — должность
City — город
sAMAccountName — имя учетной записи
userPassword — пароль пользователя

Сам скрипт User_Import.ps1:

$UserList=IMPORT-CSV «C:\Users_import\Users_import.csv»

FOREACH ($Person in $UserList) {

$Domain=»@MYDOMAIN.RU»
$FullName=$Person.cn
$Company=$Person.company
$Department=$Person.department
$Description=$Person.description
$givenName=$Person.givenName
$initials=$Person.initials
$I=$Person.City
$sAMAccountName=$Person.sAMAccountName
$sn=$Person.sn
$userPrincipalName=$Person.sAMAccountName+$Domain
$userPassword=$Person.userPassword
$expire=$null

NEW-ADUSER -PassThru -Path «OU=ОТКЛЮЧЕННЫЕ, DC=MYDOMAIN,DC=RU» -Enabled $True -AccountExpirationDate $expire -ChangePasswordAtLogon $False -AccountPassword (ConvertTo-SecureString $userPassword -AsPlainText -Force) -CannotChangePassword $True -City $I -Company $Company -Department $Department -Description $Description -DisplayName $FullName -GivenName $givenName -Initials $initials -Name $FullName -SamAccountName $sAMAccountName -Surname $sn -Title $Description -UserPrincipalName $userPrincipalName

Set-ADAccountControl $sAMAccountName -PasswordNeverExpires $True

  1. Пока комментариев нет.

  1. Пока что обратных ссылок нет.