Импорт - Экспорт пользователей 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. Окно "Давайте начнем"