Работа с пользователями Active Directory в Powershell

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термины: Active DirectoryPowershell.

Для работы с пользователями AD DS средствами Powershell необходимо загрузить соответствующий модуль командой:

> Import-Module ActiveDirectory

Просмотр

Информация о пользователях

1. Список пользователей домена:

> Get-ADUser -filter *  | Select Name, SamAccountName

2. Простая информация о пользователе:

> Get-ADUser dmosk

* где dmosk — логин пользователя в AD DS, для которого смотрим атрибуты.

3. Как посмотреть все атрибуты пользователя:

> Get-ADUser dmosk -Properties *

4. Список пользователей в определенном организационном юните:

> Get-ADUser -filter * -SearchBase "OU=Пользователи,DC=dmosk,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:\Temp\ADUsers.csv

C:\Temp\ADUsers.csv — путь к выгружаемому файлу.

2. Выгрузка только номеров телефонов и адресов электронной почты для пользователей, находящихся в определенном контейнере:

Get-ADUser -filter * -SearchBase "OU=Пользователи,DC=dmosk,DC=local" -Properties mobile, mail | Select Name, mobile, mail | Export-csv -Encoding UTF8 -Delimiter ";" -path C:\Temp\UserPhoneAndEmail.csv

* обратите внимание, что мы в данной выгрузки используем кодировку UTF-8 и в качестве разделителя знак ;.

Список групп пользователя

Get-AdUser dmosk -Properties memberof | Select memberof -expandproperty memberof

* где expandproperty позволяет просмотреть значение коллекций в удобочитаемом виде.

Редактирование

Редактирование информации выполняется с помощью командлета Set-ADUser и передачи в качестве параметра имя атрибута с новым значением.

Редактирование домашней страницы пользователя

> Set-ADUser dmosk -HomePage "dmosk.ru"

* в данном примере редактируется домашняя страница для пользователя с логином dmosk.

Редактирование телефона

> Get-ADUser -Filter dmosk -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 dmosk -Office "Санкт-Петербург, Невский проспект"

* в данном примере редактируется местонахождение сотрудника с именем входа dmosk.

Добавление пользователя в группу

Add-ADGroupMember -Identity "Группа в AD" -Member master

* с помощью данной команды мы добавим пользователя master в группу Группа в AD.

Читайте также

Работа с группами пользователей Active Directory с помощью Powershell

# Серверы # Powershell # Active Directory
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет