Иногда возникают задачи по вводу новых пользователей в каталог Active Directory. Если речь идет об одном или двух пользователях, то это легко сделать с помощью консоли (если сервер имеет GUI), а если из PowerShell, то командой New-ADUser.
Подробнее о команде:
New-ADUser -?
Добавить пользователя с параметрами:
New-ADUser -Name "MyName" -DisplayName "My Name" -GivenName "MyName" -Surname "MyName" -SamAccountName "myname" -UserPrincipalName "myname@domain.local" -Path "OU=Users,OU=MyOrganization,DC=Domain,DC=local" -AccountPassword (Read-Host -AsSecureString "Input Password") -Enabled $true
После ввода команды нужно будет ввести пароль для пользователя MyName.
Чтобы увидеть структуру данных для пользователя AD:
Get-AdUser myname -Properities *
или выгрузить в файл данные:
Get-AdUser myname -Properities * | Export-CSV "C:\Temp\MyADUser.csv" -NoTypeInformation -Encoding UTF8
Выгрузить все объекты в файл:
Get-ADUser -Filter * -Properties * | Export-CSV "C:\Temp\AllADUsers.csv" -NoTypeInformation -Encoding UTF8
Загрузим в AD заранее подготовленных пользователей списком из файла формата .csv
Сам файл имеет такой вид:
FirstName;LastName;SamAccountName;Department;Password;OU
Vladimir;Vladimirov;vvladimirov;Sales;Pa$$w0rd;OU=Users,OU=MyOU,DC=Domain,DC=ru
Скрипт PowerShell для загрузки пользователей в AD:
Import-Module activedirectory
Import-Csv "C:\temp\users2.csv" -Delimiter ";" | ForEach-Object {
$upn = $_.SamAccountName + "@domain.ru"
$uname = $_.LastName + " " + $_.FirstName
New-ADUser -Name $uname -DisplayName $uname
-GivenName $_.FirstName -Surname $_.LastName
-Department $_.Department -Description $_.Department
-UserPrincipalName $upn -SamAccountName $_.samAccountName
-Path $_.OU # в таблице csv не указывать в кавычках и используем разделитель ";" -AccountPassword (ConvertTo-SecureString -AsPlainText $_.Password -Force)
-PasswordNeverExpires $true `
-Enabled $true
}
Скрипт сохраняем в формате .ps1 и не забываем разрешить выполнение скриптов:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Файл .csv может быть отредактирован согласно требованиям заполнения каталога AD и соответственно нужно внести правки с скрипт по необходимым полям.