Поиск по сайту
Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!
Как использовать Get-ADUser в PowerShell
Командлет Get-ADUser является одним из ключевых инструментов для работы с Active Directory в PowerShell. С его помощью вы сможете быстро находить как отдельных пользователей, так и группы пользователей, просматривать их свойства и при необходимости экспортировать данные в CSV-файл. В этой статье мы подробно рассмотрим, как эффективно использовать Get-ADUser в PowerShell.
Онлайн-курс: Планирование и установка Exchange Server 2016 с нуля до запуска в Production.
Курс охватывает все ключевые аспекты управления почтовым сервером: от установки и настройки до обеспечения безопасности и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
- Перед началом работы: что нужно знать
- Как получить информацию о пользователе Active Directory
- Как вывести всех пользователей Active Directory
- Как подсчитать количество пользователей Active Directory
- Получение email-адресов пользователей Active Directory
- Как найти пользователей Active Directory по отделу
- Как узнать дату последнего входа пользователей Active Directory
- Экспорт пользователей Active Directory в CSV-файл
- Как получить пользователей из определенного OU (организационного подразделения)
- Как определить менеджера (руководителя) пользователей Active Directory
- Как найти активных пользователей Active Directory
- Как найти отключенных пользователей Active Directory
- Поиск пользователей с заданным значением свойства Active Directory
- Поиск пользователей без заданного значения свойства Active Directory
- Как найти пользователей Active Directory, чье имя начинается с определенного текста
- Как найти пользователей Active Directory, чей email заканчивается определенным текстом
- Примеры использования Get-ADUser в PowerShell
- Заключение
Перед началом работы: что нужно знать
Перед началом работы с 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. Вот как это можно сделать:
- Получение информации по SamAccountName
SamAccountName — это логин пользователя, который часто используется для аутентификации. Чтобы получить информацию о пользователе, выполните команду:
Get-ADUser -Identity "Amanda.Morgan"
- -Identity указывает конкретного пользователя по его SamAccountName.
- Результат команды содержит основные атрибуты пользователя, такие как имя, логин и SID.
- Получение информации по UserPrincipalName (UPN)
UserPrincipalName — это уникальный адрес пользователя в формате email (например, Amanda.Morgan@exoip.com). Если вы хотите найти пользователя по UPN, используйте фильтр:
Get-ADUser -Filter {UserPrincipalName -eq "Amanda.Morgan@exoip.com"}
- -Filter позволяет задать условие поиска.
- UserPrincipalName -eq "значение": указывает, что нужно найти пользователя с заданным UPN.
Как вывести всех пользователей Active Directory
- Получение всех пользователей Active Directory
Чтобы вывести всех пользователей, выполните следующую команду:
Get-ADUser -Filter *
- -Filter *: Указывает, что нужно получить всех пользователей без применения фильтров.
- Вывод будет содержать только базовые свойства (например, имя и логин).
- Получение всех пользователей со всеми свойствами
Для отображения всех доступных свойств пользователей используйте параметр -Properties *:
Get-ADUser -Filter * -Properties *
- Команда вернет весь набор данных о пользователях, включая такие свойства, как email, телефон, отдел, дата последнего входа и др.
- Получение всех пользователей с выбором конкретных свойств
Если вам нужны только определенные свойства, например, имя и 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
- Сортировка списка пользователей по имени
Чтобы отсортировать результат по имени, добавьте 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
- Получение email пользователей из определенного OU:
Если нужно получить email-адреса пользователей из конкретного организационного подразделения (OU), используйте параметр -SearchBase:
Get-ADUser -Filter * -SearchBase "OU=Sales,DC=exoip,DC=local" -Properties EmailAddress | Select-Object Name, EmailAddress
- Сортировка по имени:
Если требуется отсортировать список по имени, добавьте 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
- Получение пользователей конкретного отдела
Если необходимо получить пользователей только из определенного отдела, добавьте фильтр по свойству 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
- Сортировка по отделу
Для сортировки пользователей по отделу можно использовать Sort-Object:
Get-ADUser -Filter * -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Sort-Object Department
Как узнать дату последнего входа пользователей Active Directory
Для управления учетными записями Active Directory может потребоваться информация о дате последнего входа пользователей. Вот как это можно сделать с помощью командлета Get-ADUser.
- Получение даты последнего входа всех пользователей
Чтобы вывести список всех пользователей 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
- Получение пользователей, входивших за последние 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
- Оптимизация для больших доменов
Если в вашей 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.
- Экспорт всех пользователей в файл 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
- Указывает кодировку файла для корректного отображения данных.
- Экспорт пользователей из определенного 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).
- Экспорт активных пользователей
Для экспорта только активных пользователей (свойство 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
- Отфильтровать пользователей из отдела внутри 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
- Поиск только в указанном 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, можно получить как менеджера для конкретного пользователя, так и для всех пользователей. Рассмотрим несколько примеров.
- Получить менеджера для одного пользователя
Чтобы узнать, кто является менеджером конкретного пользователя, выполните следующую команду:
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
- Получить менеджеров для всех пользователей
Если необходимо вывести список всех пользователей вместе с их менеджерами, используйте следующую команду:
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 (отсутствует)
- Фильтрация пользователей по менеджеру
Чтобы вывести только пользователей, у которых менеджером является определенный человек, используйте фильтр:
Get-ADUser -Filter {Manager -eq "CN=John Smith,OU=Users,DC=exoip,DC=local"} | Select-Object Name, UserPrincipalName
- Экспорт пользователей и их менеджеров в 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
- Получить активных пользователей с дополнительными свойствами:
Чтобы включить в результат дополнительные данные, такие как email или отдел, добавьте их через параметр -Properties:
Get-ADUser -Filter {Enabled -eq $true} -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Sort-Object Name
- Экспорт в 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
- Получить отключенных пользователей с дополнительными свойствами:
Если требуется получить больше информации об отключенных пользователях, например, email-адрес или отдел, добавьте их через параметр -Properties:
Get-ADUser -Filter {Enabled -eq $false} -Properties EmailAddress, Department | Select-Object Name, EmailAddress, Department | Sort-Object Name
- Экспорт в CSV:
Чтобы сохранить результат в CSV-файл для последующего анализа, используйте следующую команду:
Get-ADUser -Filter {Enabled -eq $false} | Select-Object Name, UserPrincipalName | Export-CSV -Path "C:\temp\DisabledADUsers.csv" -NoTypeInformation -Encoding UTF8
- Фильтрация по 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
- Получить пользователей с другим заданным свойством:
Если нужно найти пользователей с настроенным другим свойством, например, 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
- Поиск с учетом регистра:
Active Directory не чувствителен к регистру, поэтому Amanda, AMANDA или amanda дадут одинаковый результат.
Как найти пользователей Active Directory, чей email заканчивается определенным текстом
Эти команды позволяют извлечь пользователей, чей почтовый адрес заканчивается на указанный домен, а также сортировать их по имени. Рассмотрим два сценария: поиск по одному домену и по нескольким доменам.
- Получить пользователей, чей 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
- Найти пользователей с 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.
- Как импортировать пользователей AD из CSV с помощью PowerShell
- Как экспортировать пользователей AD в CSV с помощью PowerShell
Заключение
Вы узнали, как эффективно использовать Get-ADUser в PowerShell. Этот мощный командлет позволяет извлекать данные о пользователях и фильтровать их в соответствии с вашими требованиями в среде Active Directory. Используя различные параметры и фильтры, вы можете создавать подробные отчеты, содержащие именно те свойства пользователей, которые вам нужны, и легко экспортировать их для дальнейшего анализа или администрирования.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как проверить работоспособности Active Directory с помощью скрипта PowerShell.
Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в телеграмм, чтобы узнавать обо всем первым — t.me/SysAdminHub
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
