Тематические термины: Active Directory , Powershell .
Для работы с пользователями AD DS средствами Powershell необходимо загрузить соответствующий модуль командой:
> Import-Module ActiveDirectory
Просмотр
Информация о пользователях
1. Список пользователей домена:
> Get-ADUser -filter * | Select Name, SamAccountName
2. Простая информация о пользователе:
> Get-ADUser remontka
* где remontka — логин пользователя в AD DS, для которого смотрим атрибуты.
3. Как посмотреть все атрибуты пользователя:
> Get-ADUser remontka -Properties *
4. Список пользователей в определенном организационном юните:
> Get-ADUser -filter * -SearchBase «OU=Пользователи,DC=remontka,DC=local»
5. Поиск пользователей с определенным значением атрибута:
> Get-ADUser -filter * -Properties title | where { ($_.title -eq «Инженер») } | Select Name
* в данном примере мы выгружаем пользователей, должность которых «Инженер».
6. Исключить из поиска и показа определенных пользователей.
а) Способ 1. Использовать фильтр:
> Get-ADUser -filter { Name -notlike «Мартынов Мартын Мартынович» -and Name -notlike «Макаров Макар Макарович» }
б) Способ 2. С помощью Where и массива:
> $ExcludeUsers = @(«Мартынов Мартын Мартынович», «Макаров Макар Макарович»)
> Get-ADUser -filter * | Where { $ExcludeUsers -notcontains $_.Name }
* обе команды выведут всех пользователей, кроме тех, что перечислены в фильтре.
Выгрузка пользователей в CSV (для просмотра в текстовом формате или Excel)
Выгрузку делаем при помощи командлета Export-csv .
1. Выгрузка всех данных о всех пользователях
Get-ADUser -filter * -Properties * | Export-csv -path C:TempADUsers.csv
* C:TempADUsers.csv — путь к выгружаемому файлу.
2. Выгрузка только номеров телефонов и адресов электронной почты для пользователей, находящихся в определенном контейнере:
Get-ADUser -filter * -SearchBase «OU=Пользователи,DC=remontka,DC=local» -Properties mobile, mail | Select Name, mobile, mail | Export-csv -Encoding UTF8 -Delimiter «;» -path C:TempUserPhoneAndEmail.csv
* обратите внимание, что мы в данной выгрузки используем кодировку UTF-8 и в качестве разделителя знак ; .
Список групп пользователя
Get-AdUser remontka -Properties memberof | Select memberof -expandproperty memberof
* где expandproperty позволяет просмотреть значение коллекций в удобочитаемом виде.
Редактирование
Редактирование информации выполняется с помощью командлета Set-ADUser и передачи в качестве параметра имя атрибута с новым значением. Рассмотрим несколько примеров изменения информации с помощью данной команды.
Редактирование домашней страницы пользователя
> Set-ADUser remontka -HomePage «remontka.com»
* в данном примере редактируется домашняя страница для пользователя с логином remontka .
Редактирование телефона
> Get-ADUser -Filter remontka -Properties OfficePhone | % { Set-ADUser $_ -OfficePhone «+7(812)999-99-99» }
* редактируем атрибут OfficePhone . Последний не выводится командой по умолчанию, поэтому мы указываем его в параметре -Properties .
Редактирование мобильного телефона по ФИО пользователя
> Get-ADUser -Filter {name -eq ‘Иванов Иван Иванович’} -Properties mobile | % { Set-ADUser $_ -mobile «+7(999)999-99-99» }
* сначала находим пользователя по ФИО, затем редактируем атрибут mobile .
Редактирование комнаты сотрудника
> Set-ADUser remontka -Office «Санкт-Петербург, Невский проспект»
* в данном примере редактируется местонахождение сотрудника с именем входа remontka .
Добавление пользователя в группу
> Add-ADGroupMember -Identity «Группа в AD» -Member master
* с помощью данной команды мы добавим пользователя master в группу Группа в AD .
Задать подразделение, в котором работает пользователь
Редактируем атрибут department :
> Set-ADUser remontka -department «Отдел сопровождения железнодорожных молекул»
* в данном примере мы указали, что пользователь remontka работает в «Отделе сопровождения железнодорожных молекул».
Читайте также
Работа с группами пользователей Active Directory с помощью Powershell