Powershell ad вывести список пользователей всех пользователей

Содержание
  1. Как через Powershell получить список пользователей AD с Get-ADUser
  2. Поиск и фильтрация списка пользователей AD в Powershell Get-ADUser -Filter
  3. Получение списка пользователей Active Directory в Powershell Get-User из нескольких OU
  4. Выгрузка пользователей из AD в Excel с Powershell
  5. Получение Email пользователя AD в Powershell
  6. Получение списка пользователей чей срок действия пароля истек в Powershell
  7. Работа с пользователями Active Directory в Powershell
  8. Просмотр
  9. Информация о пользователях
  10. Выгрузка пользователей в CSV (для просмотра в текстовом формате или Excel)
  11. Список групп пользователя
  12. Редактирование
  13. Редактирование домашней страницы пользователя
  14. Редактирование телефона
  15. Редактирование мобильного телефона по ФИО пользователя
  16. Редактирование комнаты сотрудника
  17. Добавление пользователя в группу
  18. Задать подразделение, в котором работает пользователь
  19. Как получить в Powershell список групп и их пользователей
  20. Примеры с Get-ADGroup Filter
  21. Получаем список пользователей группы в Powershell Get-ADGroup
  22. Получение в Powershell групп пользователя
  23. Использование Get-ADUser для получения разной информации о пользователях домена AD

Как через Powershell получить список пользователей AD с Get-ADUser

01 августа 2019

Get-ADUser команда, которая возвращает список пользователей AD в Powershell. На самом деле командлет мало чем отличается от тех, которые мы рассматривали раннее с приставкой «Get-AD».

Для работы с командой нам понадобится Powershell Active Directory Module.

Так мы вернем всех пользователей AD:

Если нам нужно найти по имени, сделайте так:

Где вместо Adminis имя вашей учетной записи. Звездочки позволяют искать вхождение где справа и слева могут быть еще символы.

Для получения сведений об одной учетной записи AD есть ключ Identity:

Кроме этого у нас есть дополнительный ключ Properties, который выводит дополнительные свойства у объекта пользователя:


Если мы хотим выполнить Get-ADUser в OU, то для этого есть дополнительный ключ, который может искать в организационных единицах и контейнерах. В моем случае я ищу в OU Moscow и домене domain.local:

Если вам нужно искать в контейнере — используйте CN. Примеры с множеством OU смотрите ниже.

Навигация по посту

Поиск и фильтрация списка пользователей AD в Powershell Get-ADUser -Filter

Мы можем фильтровать по одному или множеству свойств. Для того что бы увидеть все свойства нужно сделать:

В области 1 выделены все имена, по которым мы можем фильтровать. В области 2 тип данных с которыми мы можем сравнивать. Т.е. если тип данных у области 2 string (строка), то это плохая идея сравнивать с числом (int). Нужно сразу отметить, что те свойства, которые мы получаем благодаря ключу Properties мы не можем применять в Filter.

Примеры с Get-Member мы уже рассматривали раньше.

Для примера так мы можем получить всех пользователей, у которых указан город Moscow:

А теперь найдем всех пользователей, которые неверно вводили пароль более одного раза и в они включены:

Т.к. BadLogonCount — это свойство от ключа Properties оно должно проверятся через конвейер в Where.

Еще один пример, но теперь нужно найти пользователя имя которого содержит 0001 и он активен:

Получение списка пользователей Active Directory в Powershell Get-User из нескольких OU

В команде нет встроенных средств поиска в нескольких объектах сразу. Мы можем объявить переменную, содержащую этот список и затем передать через цикл. На моем пример используется контейнер Users и OU Moscow:

Если бы у меня была OU Ekaterinburg в которой находилось OU Marketing написать стоило бы так:

Выгрузка пользователей из AD в Excel с Powershell

Экспорт и выгрузка может быть во множество форматов, но для выгрузки в Excel есть специальный формат CSV. Для того что бы сделать выгрузку достаточно выполнить следующее:

Если мы хотим выгрузить только определенные свойства, то в поле SELECT -Property нужно их перечислить:

Получение Email пользователя AD в Powershell

Нужное свойство мы можем получить через соответствующий ключ Properties. Так я получу почту у конкретного пользователя Administrator:

Выгрузим в CSV имена только тех пользователей у которых нет почты:

Получение списка пользователей чей срок действия пароля истек в Powershell

Для того что бы увидеть все свойства относящиеся к паролям выполните:

И затем, по этому свойству, отфильтруем пользователей:

Источник

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

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

Просмотр

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

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

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

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

* где 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. Использовать фильтр:

б) Способ 2. С помощью Where и массива:

> $ExcludeUsers = @(«Мартынов Мартын Мартынович», «Макаров Макар Макарович»)

> Get-ADUser -filter * | Where

* обе команды выведут всех пользователей, кроме тех, что перечислены в фильтре.

Выгрузка пользователей в 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 | %

* редактируем атрибут OfficePhone. Последний не выводится командой по умолчанию, поэтому мы указываем его в параметре -Properties.

Редактирование мобильного телефона по ФИО пользователя

* сначала находим пользователя по ФИО, затем редактируем атрибут mobile.

Редактирование комнаты сотрудника

> Set-ADUser dmosk -Office «Санкт-Петербург, Невский проспект»

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

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

> Add-ADGroupMember -Identity «Группа в AD» -Member master

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

Задать подразделение, в котором работает пользователь

Редактируем атрибут department:

> Set-ADUser dmosk -department «Отдел сопровождения железнодорожных молекул»

* в данном примере мы указали, что пользователь dmosk работает в «Отделе сопровождения железнодорожных молекул».

Источник

Как получить в Powershell список групп и их пользователей

Get-ADGroup — это команда, которая возвращает список групп в Powershell. Для того что бы вывести список пользователей в группе есть другая команда Get-ADGroupMember и мы ее тоже рассмотрим. В этих командлетах есть один обязательный ключ. Для примера так мы выведем весь список групп AD в Powershell:

Навигация по посту

Примеры с Get-ADGroup Filter

Если мы хотим вывести, например, только список групп безопасности, то можно сделать это так:

GroupCategory — это свойство, а eq ищет точное соответствие. Операторы сравнения powershell разбирались тут.

Свойств, которые мы бы хотели вывести или сравнить достаточно много и что бы увидеть их все выполните:

Можно делать сравнивание по нескольким значениям. Если я хочу получить группы созданные 20 дней назад, а так же что бы их тип был Distribution (группа распространения), мне следует сделать так:

Другие примеры рассматриваются дальше.

Получаем список пользователей группы в Powershell Get-ADGroup

Мы можем найти данные по группе указав только имя. В моем случае я ищу группу, где имя заканчивается на marketing:

  • Properties — расширяет список стандартных свойств. В нашем случае указываем, что нам нужно получить список пользователей группы в Powershell
  • Select — в таком варианте команда выводит список всех свойств, а не только стандартный список

У нас есть и другой способ получить список пользователей группы — это через Get-ADGroupMember. Принцип такой же как и в предыдущих вариантах:

Разница этих двух вариантов в том, что в первом случае мы получаем укороченную информацию о пользователях, а во втором более подробный список.

Для получение пользователей можно сделать и так, но в этом варианте есть минус, что мы должны писать точное соответствие имени:

В описании на сайте Microsoft пишут, что в нем появляется ошибка только в случае, если командлет возвращает более одной группы (в случае использования масок), но у меня так и не получилось это сделать. Вместо имени мы можем использовать SID и GUID.

Получение в Powershell групп пользователя

Обратная ситуация, когда мы хотим узнать в каких группах наш пользователь. Для этого тоже есть несколько вариантов. Первый — это через команду получения пользователей со свойством MemberOf:

Если мы хотим узнать какую либо подробную информацию о группе сделайте так:

Мы можем найти группы пользователя и так:

Но минус этого способа в том, что он будет выполняться дольше. Возможно это будет не заметно с 1000 пользователями, а вот с 50000 может.

Источник

Использование Get-ADUser для получения разной информации о пользователях домена AD

Не секрет, что начиная с первой версии PowerShell, Microsoft пытается сделать из него основной инструмент администрирования Windows. И во многом это получается! Сегодня на простых примерах, мы покажем возможности PowerShell, которые можно использовать для получения различной информации о пользователях Active Directory и их атрибутах.

В PowerShell 2.0 появился специальный модуль для работы с Active Directory — Active Directory Module for Windows PowerShell (представлен в Windows Server 2008 R2), командлеты которого позволяют выполнять различные манипуляции с объектами каталога AD. Для получения информации о пользователях домена Active Directory и их свойствах предназначен командлет Get-ADUser. С помощью командлета Get-ADUser можно получить значение любого атрибута существующей учетной записи пользователя в AD. Кроме того, можно указывать различные критерии выборки и формировать списки пользователей домена и их атрибутов.

В этом примере мы покажем, как с помощью командлета PowerShell Get-ADUser получить информацию, о том, когда последний раз менялся пароля пользователя и когда истекает срок его действия.

Запускаем окно Powershll с правами администратора и импортируем модуль Active Directory командой:

В клиентских ОС (в той же Windows 10) для работы коммандера Get-AdUser нужно установить соответствующую версию RSAT и включить в панели управления компонент Active Directory Module for Windows PowerShell (Remote Server Administration Tools -> Role Administration Tools -> AD DS and AD LDS Tools -> AD DS Tools).

Полный список всех аргументов командлета Get-ADUser можно получить так:

Чтобы вывести список всех учетных записей домена, выполним команду:

Формат возвращаемого списка не очень удобен для использования, выводится только некоторые основные 10 из более 120 атрибутов и свойств учетных записей пользователей (DN, SamAccountName, Name, SID, UPN и т.д) кроме того, мы видим, что информация о времени последней смены пароля отсутствует.

Чтобы вывести полную информации обо всех доступных атрибутах пользователя tuser, выполним команду:

Итак, мы видим полный список атрибутов пользователя AD и их значений, ассоциированных с учетной записью пользователя. Далее мы перейдем к форматированию вывода командлета Get-ADUser, так, чтобы отображались нужные нам поля. Нас интересуют атрибуты:

  • PasswordExpired
  • PasswordLastSet
  • PasswordNeverExpires

Теперь в данных пользователя есть информация о дате смены пароля и времени, когда срок пароля истечет. Представим информацию в более удобном табличном виде:

Чтобы вывести данные пользователей из определенной OU, воспользуемся параметром SearchBase:

Результат выполнения команды можно выгрузить в текстовый файл:

Или в CSV, который в дальнейшем будет удобно экспортировать в Excel (дополнительно с помощью sort-object отсортируем таблицу по столбцу PasswordLastSet , а также добавим условие where – имя пользователя должно содержать строку «Dmitry»):

Таким образом, можно построить таблицу с любыми необходимыми атрибутами пользователей Active Directory.

Для получения списка учетных записей пользователей AD по определенному признаку используется параметр –Filter. В качестве аргументов этого параметра можно указать значение определённых атрибутов пользователей Active Directory, в результате командлет Get-ADUser будет применятся для пользователей, которые попадают под критерии фильтра.

Далее приведем еще несколько полезных вариантов запросов о пользователях Active Directory с помощью различных фильтров. Вы можете их комбинировать для получения необходимого списка пользователей AD:

Вывод пользователей AD, имя которых начинается с Roman:

Чтобы подсчитать общее количество всех аккаунтов в Active Directory:

Список всех активных (не заблокированных) учетных записей в AD:

Список учетных записей с истекшим сроком действия пароля:

Список активных учеток с почтовыми адресами:

Задача: для списка учетных записей, которые хранятся в текстовом файле (по одной учетке в строке) нужно получить телефон пользователя в AD и выгрузить информацию в текстовый csv файл (можно легко импортировать в Esxel).

Следующий пример позволяет выгрузить адресную книгу предприятия в виде csv файла, который в дальнейшем можно импортировать в Outlook или Mozilla Thunderbird:

Пользователи, которые не меняли свой пароль в течении последних 90 дней:

Чтобы получить фотографию пользователя из Active Directory и сохранить ее в jpg файл:

Список групп, в которых состоит учетная запись пользователя

Источник

Читайте также:  Как чистить унитаз электролитом
Оцените статью