Если вам нужно найти пользователей Active Directory (AD) в вашем домене, команда Powershell Get-Aduser здесь, чтобы помочь. Учетные записи пользователей назначаются сотрудникам, служебным аккаунтам и другим ресурсам. Прежде чем вы это узнаете, учетные записи пользователей AD становятся сложными для управления.
Используя командлет Get-AdUser
PowerShell, вы можете получить пользователей AD множеством различных способов. В этой статье вы узнаете несколько из этих способов и как использовать этот удобный командлет.
Управляйте и составляйте отчеты по Active Directory, Exchange и Microsoft 365 с помощью ManageEngine ADManager Plus. Скачайте бесплатную пробную версию!
Предварительные требования
Чтобы использовать примеры командлета Get-AdUser
, описанные в этой статье, убедитесь, что у вас есть следующее:
- На ПК с Windows, присоединенном к домену AD
- Вы вошли как учетная запись пользователя AD
- Установлен модуль PowerShell Active Directory
Поиск учетной записи пользователя с Identity
Команда Get-AdUser
имеет только одну цель. Её существование призвано предоставить как можно больше опций для поиска пользователей домена. Если вы уже знаете имя пользователя, которое нужно найти, вы можете использовать параметр Identity
.
Параметр Identity
позволяет указать один из четырех различных идентификаторов.
- distinguishedName (DN)
- samAccountName
- GUID
- SID
Ниже приведены примеры поиска учетной записи пользователя с использованием различных идентификаторов. Обратите внимание, что для каждой учетной записи пользователя возвращается набор атрибутов AD.
Самым распространенным атрибутом для использования в параметре
Identity
будет атрибутsamAccountName
.
Фильтр Get-ADUser
Если вам нужно найти более одного пользователя домена или вы не знаете идентификатор, используйте фильтр. Для этого у вас есть несколько параметров, называемых Filter
и LDAPFilter
.
Каждый параметр фильтра позволяет пользователю указать условное выражение. Когда это условие выполняется, Get-AdUser
возвращает учетные записи пользователей, соответствующие этому условию.
Самым распространенным параметром для фильтрации пользователей является параметр Filter
. Параметр Filter
позволяет создавать условия, аналогичные синтаксису фильтра командлета PowerShell Where-Object
.
Параметр Filter
использует синтаксис языка выражений PowerShell. Этот язык немного похож на то, что вы бы использовали с Where-Object
, но не совсем. Для разбора того, как использовать этот фильтр, ознакомьтесь с этой статьей о фильтрах Active Directory и LDAP.
Ниже приведен пример использования параметра Filter
. В этом примере предоставляется атрибут AD (givenName
в данном случае) и задается условие. Фильтр позволяет возвращать только пользователей с givenName
, равным Adam
.
Другой вариант фильтрации – LDAPFilter
, который не будет рассматриваться в данной статье. Для получения дополнительной информации о LDAPFilter
и его синтаксисе ознакомьтесь с этой статьей о фильтрах Active Directory и LDAP.
Использование Get-AdUser по OU
Предоставляя идентификатор или фильтр, PowerShell возвращает всех пользователей в домене, соответствующих критериям. Он не ограничивается по OU. Вам нужно будет настроить “фильтр” для Get-AdUser
, чтобы фильтровать по OU, используя Get-Aduser -SearchBase <OU>
.
Использование параметра SearchBase
позволяет начать поиск учетной записи пользователя в определенном OU. Параметр SearchBase
принимает дистинктивное имя (DN) OU.
Например, вы можете найти всех пользователей в OU MyUsers, как показано ниже. Использование Filter
равного *
означает сопоставление всех учетных записей пользователей.
Возможно, вам нужно найти учетные записи пользователей только в одном контейнере OU и исключить все дочерние контейнеры OU. В этом случае вы можете использовать параметры SearchBase
и SearchScope
. Параметр SearchScope
определяет глубину поиска в иерархии OU.
Например, если вы хотите найти все учетные записи пользователей в OU и всех его дочерних контейнерах OU, вы используете значение 1
для параметра SearchScope
. Если вы хотите выполнить поиск по всем дочерним и внуковским контейнерам OU, вы используете значение 2
.
В приведенном ниже примере ищутся учетные записи пользователей в контейнере OU MyUsers и всех его дочерних контейнерах OU.
Использование альтернативных учетных данных
По умолчанию команда Get-AdUser
выполняется от имени текущего пользователя. Однако вы также можете указать альтернативные учетные данные с помощью параметра Credential
.
Для аутентификации с использованием альтернативных учетных данных создайте объект PSCredential с помощью команды Get-Credential
, как показано ниже:
Дополнительную информацию о учетных данных можно найти в статье Использование cmdlet PowerShell Get-Credential и другие вопросы по учетным данным.
Параметр свойств команды PowerShell Get-AdUser
При выполнении команды Get-AdUser
вы увидите, что возвращается только несколько атрибутов. Вы также заметите, что даже когда вывод передается в Select-Object -Property *
, все атрибуты все равно не возвращаются.
Для получения атрибутов пользователей AD с помощью PowerShell используйте параметр Property
. Этот параметр принимает один или несколько атрибутов, разделенных запятыми, для отображения в выводе.
Ниже приведен пример использования Get-AdUser
для поиска всех свойств всех учетных записей пользователей с givenName
равным Adam
. Вывод усечен, но вы увидите другие знакомые атрибуты, такие как адрес электронной почты, свойства пароля и многое другое здесь.
Управляйте и отчитывайтесь о деятельности в Active Directory, Exchange и Microsoft 365 с помощью ManageEngine ADManager Plus. Загрузите бесплатную пробную версию!
Краткое описание
Командлет Get-ADUser
– это удобная команда для поиска учетных записей пользователей AD, создания отчетов и многое другое. Это отличный способ извлечь пользователей AD из домена. Для получения подробной информации о Get-AdUser
и всех его параметрах ознакомьтесь с справочным содержанием, запустив команду Get-Help Get-AdUser
.
Для множества других примеров использования Get-AdUser
ознакомьтесь с сообщением в блоге Active Directory Scripts Galore: Come and Get It!.