Импорт - Экспорт пользователей Active Directory



Иногда возникают задачи по вводу новых пользователей в каталог 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 и соответственно нужно внести правки с скрипт по необходимым полям.

Комментарии

Популярные сообщения из этого блога

Разные версии PHP на разных сайтах на одном сервере

Microsoft Office. Окно "Давайте начнем"

При подключении VPN перестаёт работать NTLM (не видит сетевые ресурсы)