Бывает, что возникает необходимость привести  записи о пользователях в Active Directory  к некоему стандарту. У нас есть однотипные логины (user0001, user0002, user0003 и так далее) и требуется к каждой записи пользователя добавить фамилию, имя, адрес электронной почты, телефон стационарный, телефон мобильный, должность, отдел, название компании. При большом количестве пользователей удобнее вносить данные в таблицу Excel.

Пример исходного файла. По образу и подобию заполняем таблицу.

После того, как мы добавили всех пользователей необходимо сохранить файл в формате, пригодном для экспорта в Active Directory – файл csv. Выбираем “Сохранить как” и в типе фала указываем CSV (MS-DOS). В результате будет сохранен файл CSV с точкой с запятой (” ; “) в виде разделителя.

Чтобы текст на русском языке перенесся в AD правильно, кодировку файл нужно преобразовать в UTF-8 . Удобнее это делать в программе Notepad++.

Сохраняем файл. Теперь передадим полученный файл скрипту. Создадим еще один файл с таким cодержанием:

$File = import-csv C:\temp\users.csv -delimiter ";"
foreach ($User in $file)
{
 $samAccountName = $user.name
 $email= $user.mail

Get-ADUser -LDAPFilter "(samAccountName=$samAccountName)" | Set-aduser -surname $user.surname -givenname $user.givenname -title $user.Title -Department $user.department -Company $user.company -EmailAddress $email -OfficePhone $user.OfficePhone -mobile $user.mobile
}

В первой строке прописываем путь к своему сохраненному файлу csv.  Сохраним под именем, например, test.ps1  на диске С.

Замечание. Для серверов Windows 2008/2008R2 нужно добавить в начало еще одну строку:  import-module activedirectory. 

На контроллере домена стартуем powershell и запускаем скрипт.

После выполнения скрипта данные из нашего файла csv пропишутся в Active Directory.

Внесение изменений записей о пользователях в Active Directory с помощью Powershell
Метки:             

Одна мысль о “Внесение изменений записей о пользователях в Active Directory с помощью Powershell

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *