Массовый импорт пользователей в 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 }