Поиск по сайту

telegram

Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!

Как использовать Get-ADUser в PowerShell

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

Онлайн-курс: Планирование и установка Exchange Server 2016 с нуля до запуска в Production.

Курс охватывает все ключевые аспекты управления почтовым сервером: от установки и настройки до обеспечения безопасности и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.

Содержание:

Перед началом работы: что нужно знать

Перед началом работы с Get-ADUser важно убедиться, что модуль Active Directory установлен. Без него командлет не будет работать, и вы столкнетесь с ошибкой:


Get-ADUser : The term 'Get-ADUser' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Get-ADUser
+ ~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Get-ADUser:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Эта ошибка возникает, если модуль Active Directory отсутствует в вашей системе.

Где уже доступны инструменты управления Active Directory?

Контроллер домена

На серверах, где установлена роль Active Directory Domain Services (AD DS), инструменты управления Active Directory устанавливаются автоматически. Это означает, что вы можете сразу использовать Get-ADUser, не выполняя дополнительных настроек.

Рядовой сервер (member server)

Если вы работаете на сервере, который не является контроллером домена, необходимо вручную установить инструменты управления Active Directory с помощью RSAT-ADDS (Remote Server Administration Tools).

Для этого выполните команду в PowerShell с правами администратора:


Install-WindowsFeature -Name RSAT-ADDS

Клиент Windows (например, Windows 11)

На клиентских системах Windows, таких как Windows 10 или 11, нужно установить инструменты удаленного управления Active Directory (RSAT). Сделать это можно с помощью следующей команды:


Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

Теперь, когда все необходимые компоненты установлены, вы готовы к использованию командлета Get-ADUser для управления учетными записями Active Directory. Дальше мы рассмотрим примеры использования этого мощного инструмента.

Как получить информацию о пользователе Active Directory

Для получения информации о конкретном пользователе в Active Directory необходимо знать уникальный идентификатор, например, SamAccountName или UserPrincipalName. Вот как это можно сделать:

  1. Получение информации по SamAccountName

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


Get-ADUser -Identity "Amanda.Morgan"

  • -Identity указывает конкретного пользователя по его SamAccountName.
  • Результат команды содержит основные атрибуты пользователя, такие как имя, логин и SID.
  1. Получение информации по UserPrincipalName (UPN)

UserPrincipalName — это уникальный адрес пользователя в формате email (например, Amanda.Morgan@exoip.com). Если вы хотите найти пользователя по UPN, используйте фильтр:



Get-ADUser -Filter {UserPrincipalName -eq "Amanda.Morgan@exoip.com"}

  • -Filter позволяет задать условие поиска.
  • UserPrincipalName -eq "значение": указывает, что нужно найти пользователя с заданным UPN.

Как вывести всех пользователей Active Directory

  1. Получение всех пользователей Active Directory

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


Get-ADUser -Filter *

  • -Filter *: Указывает, что нужно получить всех пользователей без применения фильтров.
  • Вывод будет содержать только базовые свойства (например, имя и логин).
  1. Получение всех пользователей со всеми свойствами

Для отображения всех доступных свойств пользователей используйте параметр -Properties *:


Get-ADUser -Filter * -Properties *

  • Команда вернет весь набор данных о пользователях, включая такие свойства, как email, телефон, отдел, дата последнего входа и др.
  1. Получение всех пользователей с выбором конкретных свойств

Если вам нужны только определенные свойства, например, имя и UPN (UserPrincipalName), используйте Select-Object:


Get-ADUser -Filter * | Select-Object Name, UserPrincipalName

  • Select-Object Name, UserPrincipalName: Выводит только указанные свойства для всех пользователей.

Пример вывода:


Name            UserPrincipalName
----            -----------------
Amanda Morgan   Amanda.Morgan@exoip.com
John Smith      John.Smith@exoip.com

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

Чтобы отсортировать результат по имени, добавьте Sort-Object:


Get-ADUser -Filter * | Select-Object Name, UserPrincipalName | Sort-Object Name

  • Sort-Object Name: Сортирует пользователей в алфавитном порядке по имени.

Пример вывода:


Name            UserPrincipalName
----            -----------------
Amanda Morgan   Amanda.Morgan@exoip.com
John Smith      John.Smith@exoip.com
Zoe Brown       Zoe.Brown@exoip.com

Как подсчитать количество пользователей Active Directory

Для подсчета общего количества пользователей Active Directory можно использовать комбинацию команд Get-ADUser и Measure-Object.


(Get-ADUser -Filter * | Measure-Object).Count

Get-ADUser -Filter *

  • Извлекает всех пользователей Active Directory.
  • -Filter * указывает, что фильтр не применяется, и возвращаются все записи.

| Measure-Object

  • Подсчитывает количество объектов, переданных через конвейер (в данном случае — пользователей).

.Count

  • Возвращает числовое значение, которое является итоговым количеством объектов (пользователей).

Если в Active Directory содержится, например, 250 пользователей, команда вернет:


250

Альтернативный вариант с выборкой:

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

  • Подсчет активных пользователей:

(Get-ADUser -Filter {Enabled -eq $true} | Measure-Object).Count

  • Подсчет пользователей из определенного OU:

(Get-ADUser -Filter * -SearchBase "OU=Sales,DC=exoip,DC=local" | Measure-Object).Count

Получение email-адресов пользователей Active Directory

Для получения списка пользователей Active Directory и их основных адресов электронной почты (SMTP) можно использовать командлет Get-ADUser с выбором необходимых свойств.


Get-ADUser -Filter * -Properties EmailAddress | Select-Object Name, EmailAddress

-Properties EmailAddress

  • Добавляет в результат свойство EmailAddress, которое по умолчанию не отображается.

| Select-Object Name, EmailAddress

  • Выбирает только два свойства для вывода:
    • Name: Имя пользователя.
    • EmailAddress: Основной адрес электронной почты пользователя.

Команда выведет список пользователей и их адреса электронной почты. Пример вывода:


Name                 EmailAddress
----                 ------------
Amanda Morgan        amanda.morgan@exoip.com
John Smith           john.smith@exoip.com
Zoe Brown            zoe.brown@exoip.com

  1. Получение email пользователей из определенного OU:

Если нужно получить email-адреса пользователей из конкретного организационного подразделения (OU), используйте параметр -SearchBase:


Get-ADUser -Filter * -SearchBase "OU=Sales,DC=exoip,DC=local" -Properties EmailAddress | Select-Object Name, EmailAddress

  1. Сортировка по имени:

Если требуется отсортировать список по имени, добавьте Sort-Object:


Get-ADUser -Filter * -Properties EmailAddress | Select-Object Name, EmailAddress | Sort-Object Name

Как найти пользователей Active Directory по отделу

Чтобы вывести пользователей Active Directory с информацией об их отделах и дополнительными свойствами, такими как основной адрес электронной почты, можно использовать Get-ADUser. Это особенно полезно для администрирования и формирования отчетов.


Get-ADUser -Filter * -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department

-Properties EmailAddress, Department

  • Добавляет к результату свойства EmailAddress (адрес электронной почты) и Department (отдел). Эти свойства не отображаются по умолчанию.

| Select-Object Name, EmailAddress, Department

  • Оставляет только выбранные свойства для вывода:
    • Name: Имя пользователя.
    • EmailAddress: Основной адрес электронной почты.
    • Department: Название отдела.

Команда выведет список пользователей с их именами, email-адресами и отделами. Пример вывода:


Name                 EmailAddress              Department
----                 ------------              ----------
Amanda Morgan        amanda.morgan@exoip.com   IT Department
John Smith           john.smith@exoip.com      Sales
Zoe Brown            zoe.brown@exoip.com       Marketing

  1. Получение пользователей конкретного отдела

Если необходимо получить пользователей только из определенного отдела, добавьте фильтр по свойству Department:


Get-ADUser -Filter {Department -eq "Sales"} -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department

Пример вывода:


Name                 EmailAddress              Department
----                 ------------              ----------
John Smith           john.smith@exoip.com      Sales

  1. Сортировка по отделу

Для сортировки пользователей по отделу можно использовать Sort-Object:


Get-ADUser -Filter * -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Sort-Object Department

Как узнать дату последнего входа пользователей Active Directory

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

  1. Получение даты последнего входа всех пользователей

Чтобы вывести список всех пользователей Active Directory с их датами последнего входа, используйте следующую команду:


Get-ADUser -Filter * -Properties LastLogonDate | Sort-Object -Property LastLogonDate -Descending | Select-Object Name, LastLogonDate

-Properties LastLogonDate

  • Добавляет свойство LastLogonDate, которое показывает дату последнего входа.

Sort-Object -Property LastLogonDate -Descending

  • Сортирует список в порядке убывания даты (сначала самые недавние входы).

Select-Object Name, LastLogonDate

  • Выводит только имя пользователя и дату последнего входа.

Name                 LastLogonDate
----                 -------------
John Smith           01/15/2025 14:32:10
Amanda Morgan        01/10/2025 08:45:23
Zoe Brown            12/28/2024 11:22:17

  1. Получение пользователей, входивших за последние 90 дней

Если нужно вывести только тех пользователей, которые заходили в систему в последние 90 дней, используйте следующую команду:


$90days = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -gt $90days} -Properties LastLogonDate | Select-Object Name, UserPrincipalName, LastLogonDate

$90days = (Get-Date).AddDays(-90)

  • Создает переменную, содержащую дату, соответствующую 90 дням назад от текущей даты.

-Filter {LastLogonDate -gt $90days}

  • Фильтрует пользователей, у которых дата последнего входа больше (новее) этой даты.

Select-Object Name, UserPrincipalName, LastLogonDate

  • Выводит имя, UPN и дату последнего входа.

Name                 UserPrincipalName           LastLogonDate
----                 ----------------           -------------
John Smith           john.smith@exoip.com       01/15/2025 14:32:10
Amanda Morgan        amanda.morgan@exoip.com    01/10/2025 08:45:23

  1. Оптимизация для больших доменов

Если в вашей Active Directory большое количество пользователей, используйте -ResultSize для ограничения результата:


Get-ADUser -Filter * -Properties LastLogonDate -ResultSize 1000 | Sort-Object -Property LastLogonDate -Descending | Select-Object Name, LastLogonDate

Экспорт пользователей Active Directory в CSV-файл

Экспорт данных о пользователях Active Directory в формат CSV позволяет создавать отчеты и легко передавать данные в другие системы. Вот как это сделать с помощью Get-ADUser.

  1. Экспорт всех пользователей в файл CSV

Чтобы экспортировать всех пользователей с их основными свойствами, выполните следующую команду:


Get-ADUser -Filter * -Properties * | Select-Object Name, SamAccountName, EmailAddress, Department | Export-CSV -Path "C:\temp\ADUsers.csv" -NoTypeInformation -Encoding UTF8

Select-Object Name, SamAccountName, EmailAddress, Department

  • Выбирает только нужные свойства для экспорта:
    • Name: Имя пользователя.
    • SamAccountName: Учетная запись пользователя.
    • EmailAddress: Основной email-адрес.
    • Department: Название отдела.

Export-CSV -Path "C:\temp\ADUsers.csv"

  • Экспортирует данные в файл ADUsers.csv в указанной директории.

-NoTypeInformation

  • Убирает системную информацию о типах данных из CSV.

-Encoding UTF8

  • Указывает кодировку файла для корректного отображения данных.
  1. Экспорт пользователей из определенного OU

Если нужно экспортировать пользователей только из определенного организационного подразделения (OU), используйте параметр -SearchBase:


Get-ADUser -Filter * -SearchBase "OU=Sales,DC=exoip,DC=local" -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Export-CSV -Path "C:\temp\SalesUsers.csv" -NoTypeInformation -Encoding UTF8

-SearchBase

  • Ограничивает поиск только указанным OU (в данном случае Sales).
  1. Экспорт активных пользователей

Для экспорта только активных пользователей (свойство Enabled = True) используйте фильтр:


Get-ADUser -Filter {Enabled -eq $true} -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Export-CSV -Path "C:\temp\ActiveUsers.csv" -NoTypeInformation -Encoding UTF8

Пример содержимого CSV-файла

После выполнения команды, файл ADUsers.csv будет содержать следующие данные:


Name,SamAccountName,EmailAddress,Department
Amanda Morgan,amorgan,amanda.morgan@exoip.com,IT
John Smith,jsmith,john.smith@exoip.com,Sales
Zoe Brown,zbrown,zoe.brown@exoip.com,Marketing

Как получить пользователей из определенного OU (организационного подразделения)

Работа с пользователями Active Directory в определенных организационных единицах (OU) позволяет ограничить область поиска и анализировать только нужные данные.

Рассмотрим несколько примеров.

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


Get-ADUser -Filter * -SearchBase "OU=Users,OU=Company,DC=exoip,DC=local" | Select-Object Name, UserPrincipalName

-SearchBase

  • Указывает путь к OU, в котором нужно искать пользователей. В данном примере — это OU=Users,OU=Company,DC=exoip,DC=local.

Пример результата:


Name                 UserPrincipalName
----                 -----------------
Amanda Morgan        amanda.morgan@exoip.com
John Smith           john.smith@exoip.com
Zoe Brown            zoe.brown@exoip.com

  1. Отфильтровать пользователей из отдела внутри OU

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


Get-ADUser -Filter {Department -eq "Sales"} -SearchBase "OU=Users,OU=Company,DC=exoip,DC=local" -Properties EmailAddress | Select-Object Name, UserPrincipalName, EmailAddress

-Filter {Department -eq "Sales"}

  • Фильтрует пользователей, принадлежащих отделу Sales.

Name                 UserPrincipalName           EmailAddress
----                 ----------------           ------------
John Smith           john.smith@exoip.com       john.smith@exoip.com

  1. Поиск только в указанном OU (без подподразделений)

По умолчанию команда Get-ADUser ищет пользователей во всех уровнях указанного OU, включая подподразделения. Чтобы ограничить поиск только указанным OU, используйте параметр -SearchScope со значением OneLevel:


Get-ADUser -Filter * -SearchBase "OU=Users,OU=Company,DC=exoip,DC=local" -SearchScope OneLevel | Select-Object Name, UserPrincipalName

-SearchScope OneLevel

  • Ограничивает поиск только на указанном уровне OU.

Как определить менеджера (руководителя) пользователей Active Directory

Менеджер (руководитель) пользователя Active Directory хранится в поле Manager. Используя Get-ADUser, можно получить как менеджера для конкретного пользователя, так и для всех пользователей. Рассмотрим несколько примеров.

  1. Получить менеджера для одного пользователя

Чтобы узнать, кто является менеджером конкретного пользователя, выполните следующую команду:


Get-ADUser -Identity "Amanda.Morgan" -Properties Manager | Select-Object Name, @{Name='Manager';Expression={(Get-ADUser $_.Manager).Name}}

-Identity "Amanda.Morgan"

  • Указывает имя пользователя (SamAccountName или UserPrincipalName), для которого нужно получить информацию.

-Properties Manager

  • Добавляет свойство Manager в вывод.

@{Name='Manager';Expression={(Get-ADUser $_.Manager).Name}}

  • Получает имя менеджера, используя значение свойства Manager.
  • Get-ADUser $_.Manager выполняет дополнительный запрос для получения данных о менеджере.

Пример результата:


Name                 Manager
----                 -------
Amanda Morgan        John Smith

  1. Получить менеджеров для всех пользователей

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


Get-ADUser -Filter * -Properties Manager | Select-Object Name, @{Name='Manager';Expression={(Get-ADUser $_.Manager -ErrorAction SilentlyContinue).Name}}

-ErrorAction SilentlyContinue

  • Скрывает ошибки, если у пользователя не задан менеджер (например, поле Manager пустое).

Select-Object

  • Формирует вывод с именами пользователей и их менеджеров.

Name                 Manager
----                 -------
Amanda Morgan        John Smith
Zoe Brown            Sarah Taylor
John Doe             (отсутствует)

  1. Фильтрация пользователей по менеджеру

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


Get-ADUser -Filter {Manager -eq "CN=John Smith,OU=Users,DC=exoip,DC=local"} | Select-Object Name, UserPrincipalName

  1. Экспорт пользователей и их менеджеров в CSV

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


Get-ADUser -Filter * -Properties Manager | Select-Object Name, @{Name='Manager';Expression={(Get-ADUser $_.Manager -ErrorAction SilentlyContinue).Name}} | Export-CSV -Path "C:\temp\ADUsersManagers.csv" -NoTypeInformation -Encoding UTF8

Как найти активных пользователей Active Directory

Чтобы получить список всех активных (включенных) пользователей в Active Directory, можно использовать фильтр Enabled -eq $true. Это позволяет отобразить только те учетные записи, которые не отключены.


Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, UserPrincipalName | Sort-Object Name

Get-ADUser -Filter {Enabled -eq $true}

  • Фильтрует учетные записи пользователей, у которых свойство Enabled равно true (активные пользователи).

| Select-Object Name, UserPrincipalName

  • Отбирает для вывода только имя пользователя (Name) и его UserPrincipalName (UPN), что часто используется для входа.

| Sort-Object Name

  • Сортирует список пользователей в алфавитном порядке по имени.

Пример вывода:


Name                 UserPrincipalName
----                 -----------------
Amanda Morgan        amanda.morgan@exoip.com
John Smith           john.smith@exoip.com
Zoe Brown            zoe.brown@exoip.com

  1. Получить активных пользователей с дополнительными свойствами:

Чтобы включить в результат дополнительные данные, такие как email или отдел, добавьте их через параметр -Properties:


Get-ADUser -Filter {Enabled -eq $true} -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Sort-Object Name

  1. Экспорт в CSV:

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


Get-ADUser -Filter {Enabled -eq $true} | Select-Object Name, UserPrincipalName | Export-CSV -Path "C:\temp\ActiveADUsers.csv" -NoTypeInformation -Encoding UTF8

Как найти отключенных пользователей Active Directory

Для получения списка всех отключенных учетных записей пользователей в Active Directory можно использовать фильтр Enabled -eq $false. Эта команда позволяет быстро выявить неактивных пользователей для управления или анализа.


Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, UserPrincipalName | Sort-Object Name

  1. Получить отключенных пользователей с дополнительными свойствами:

Если требуется получить больше информации об отключенных пользователях, например, email-адрес или отдел, добавьте их через параметр -Properties:


Get-ADUser -Filter {Enabled -eq $false} -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Sort-Object Name

  1. Экспорт в CSV:

Чтобы сохранить результат в CSV-файл для последующего анализа, используйте следующую команду:


Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, UserPrincipalName | Export-CSV -Path "C:\temp\DisabledADUsers.csv" -NoTypeInformation -Encoding UTF8

  1. Фильтрация по OU:

Если нужно получить отключенных пользователей из конкретного организационного подразделения (OU), добавьте параметр -SearchBase:


Get-ADUser -Filter {Enabled -eq $false} -SearchBase "OU=Users,OU=Company,DC=exoip,DC=local" | Select-Object Name, UserPrincipalName

Поиск пользователей с заданным значением свойства Active Directory

Если нужно найти пользователей Active Directory, у которых установлено определенное свойство (например, номер мобильного телефона), можно использовать Get-ADUser с фильтром. Ниже приведен пример команды для получения пользователей с настроенным номером мобильного телефона.


Get-ADUser -Filter {MobilePhone -like "*"} -Properties MobilePhone | Select-Object Name, MobilePhone

-Filter {MobilePhone -like "*"}

  • Фильтрует пользователей, у которых свойство MobilePhone не пустое (т.е. оно задано).
  • -like "*" означает, что значение свойства может быть любым, но оно должно существовать.

-Properties MobilePhone

  • Загружает свойство MobilePhone, так как оно не входит в список стандартных свойств, отображаемых по умолчанию.

| Select-Object Name, MobilePhone

  • Выводит только имя пользователя (Name) и его номер мобильного телефона (MobilePhone).

Пример вывода:


Name                 MobilePhone
----                 -----------
Amanda Morgan        +1-555-123-4567
John Smith           +1-555-987-6543
Zoe Brown            +1-555-555-5555

  1. Получить пользователей с другим заданным свойством:

Если нужно найти пользователей с настроенным другим свойством, например, Title (должность), измените фильтр следующим образом:


Get-ADUser -Filter {Title -like "*"} -Properties Title | Select-Object Name, Title

Поиск пользователей без заданного значения свойства Active Directory

Чтобы найти пользователей Active Directory, у которых номер мобильного телефона не указан, можно использовать Get-ADUser с фильтром -notlike ". Вот пример команды:


Get-ADUser -Filter {MobilePhone -notlike "*"} -Properties MobilePhone | Select-Object Name, MobilePhone

-Filter {MobilePhone -notlike "*"}

  • Фильтрует пользователей, у которых свойство MobilePhone пустое (не задано).
  • -notlike "*" означает, что свойство либо отсутствует, либо не имеет значения.

-Properties MobilePhone

  • Добавляет свойство MobilePhone в результат (по умолчанию оно не отображается).

| Select-Object Name, MobilePhone

  • Отбирает только имя пользователя (Name) и свойство MobilePhone (которое в этом случае будет пустым).

Пример вывода:


Name                 MobilePhone
----                 -----------
John Doe
Jane Doe
Test User

Как найти пользователей Active Directory, чье имя начинается с определенного текста

Для поиска пользователей, чьи имена начинаются с конкретного текста, например, "Аманда", можно использовать Get-ADUser с фильтром -like.


Get-ADUser -Filter "Name -like 'Amanda*'" | Select-Object Name, UserPrincipalName

-Filter "Name -like 'Amanda*'"

  • Фильтрует пользователей, чьи имена начинаются с "Amanda".
  • -like 'Amanda*': Звездочка (*) означает, что после "Amanda" может быть любое количество символов.

Пример вывода:


Name                 UserPrincipalName
----                 -----------------
Amanda Morgan        amanda.morgan@exoip.com
Amanda Taylor        amanda.taylor@exoip.com

  1. Поиск с учетом регистра:

Active Directory не чувствителен к регистру, поэтому Amanda, AMANDA или amanda дадут одинаковый результат.

Как найти пользователей Active Directory, чей email заканчивается определенным текстом

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

  1. Получить пользователей, чей email заканчивается на один домен

Для извлечения всех пользователей, чей email заканчивается на домен @exoip.com, выполните следующую команду:


Get-ADUser -Filter "EmailAddress -like '*@exoip.com'" -Properties EmailAddress | Select-Object Name, EmailAddress | Sort-Object Name

-Filter "EmailAddress -like '*@exoip.com'"

  • Фильтрует пользователей, чей адрес электронной почты заканчивается на @exoip.com.

-Properties EmailAddress

  • Загружает свойство EmailAddress (по умолчанию оно не отображается).

| Select-Object Name, EmailAddress

  • Отбирает только имя пользователя (Name) и его адрес электронной почты (EmailAddress).

| Sort-Object Name

  • Сортирует пользователей в алфавитном порядке по имени.

Пример результата:


Name                 EmailAddress
----                 ------------
Amanda Morgan        amanda.morgan@exoip.com
John Smith           john.smith@exoip.com
Zoe Brown            zoe.brown@exoip.com

  1. Найти пользователей с email, заканчивающимся на несколько доменов

Если нужно найти пользователей с адресами электронной почты, заканчивающимися на @exoip.com или @o365info.com, используйте следующий фильтр:


Get-ADUser -Filter {(EmailAddress -like '*@exoip.com') -or (EmailAddress -like '*@o365info.com')} -Properties EmailAddress | Select-Object Name, EmailAddress | Sort-Object Name

-Filter {(EmailAddress -like '*@exoip.com') -or (EmailAddress -like '*@o365info.com')}

  • Фильтрует пользователей с адресами, заканчивающимися либо на @exoip.com, либо на @o365info.com.

Пример результата:


Name                 EmailAddress
----                 ------------
Amanda Morgan        amanda.morgan@exoip.com
John Smith           john.smith@o365info.com
Zoe Brown            zoe.brown@exoip.com

Примеры использования Get-ADUser в PowerShell

Лучший способ понять, как использовать командлет Get-ADUser в PowerShell-скриптах, — это изучить примеры готовых скриптов. Они помогут увидеть практическое применение и научат эффективно использовать эту команду для работы с данными Active Directory.

Заключение

Вы узнали, как эффективно использовать Get-ADUser в PowerShell. Этот мощный командлет позволяет извлекать данные о пользователях и фильтровать их в соответствии с вашими требованиями в среде Active Directory. Используя различные параметры и фильтры, вы можете создавать подробные отчеты, содержащие именно те свойства пользователей, которые вам нужны, и легко экспортировать их для дальнейшего анализа или администрирования.

Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как проверить работоспособности Active Directory с помощью скрипта PowerShell.

Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в телеграмм, чтобы узнавать обо всем первым — t.me/SysAdminHub

Комментарии (0)

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

0 Значки
Вложения (0 / 5)
Поделитесь своим местоположением