Как посмотреть ou пользователя в ad
Перейти к содержимому

Как посмотреть ou пользователя в ad

  • автор:

Поиск групп, пользователей и компьютеров в Active Directory по шаблону и маске

date

11.11.2021

user

itpro

directory

Active Directory, PowerShell

comments

комментариев 8

Задача поиска объектов в Active Directory (пользователей, групп или компьютеров) по имени с помощью некого шаблона, регулярного выражению или маске не так очевидна, как кажется на самом деле. Дело в том, что по-умолчанию графическая консоль ADUC (AD Users and Computers), не позволяет использовать подстановочные символы в начале или в середине поисковой фразы.

Например, вы хотите найти в Active Directory все группу, в имени которых содержится ключевое слово « SQL ». Если открыть консоль поиска (Find User, Contacts, and Groups) в ADUC и выполнить обычный поиск по ключевому слову SQL , то результаты скорее всего вас не устроят. Консоль ADUC выведет только группы и пользователей у которых указанное ключевое слово содержится в начале имени. Остальные объекты со словом sql не будут найдены. Поиск по маске *sql* также не даст результатов (подстановочные символы просто не работают).

поиск объектов в AD по ключевым словам

Вы можете быстро открыть окно поиска в AD с помощью команды %SystemRoot%\SYSTEM32\rundll32.exe dsquery,OpenQueryWindow .

Поиск пользователей и групп в Active Directory из консоли ADUC

Вы можете найти нужные объекты в графической консоли Active Directory Users and Computers ( dsa.msc ) с помощью простых LDAP запросов.

  1. Для этого, откройте меню Find и в выпадающем списке типов поиска выберите Custom Search;
  2. Переключитесь на вкладку Advanced;
  3. В поле LDAP query, введите: name=*sql*

Примечание. Данный LDAP запрос говорит, что вы хотите найти все объекты AD, содержащие в имени значение sql. Для этого нужно воспользоваться символом подстановки * с обеих сторон.

Если нужно искать только объекты AD типа группа, используйте такой запрос.

ldap запросы для поиска в Active Directory из консоли dsa.msc

Как вы видите, по данному шаблону было найдено множество объектов AD (группы, компьютеры, пользователи, сервисные gMSA аккаунты).

Вы можете использовать расширенные фильтры в консоли поиска AD. Для этого включите опцию Filter в меню View и используйте расширенные фильтры для детализации поиска.

фильтры поиск в Active Directory

С помощью пункта меню View -> Choose Columns вы можете добавить дополнительные атрибуты объектов AD, по которым можно фильтровать найденные объекты.

Если вы используете для поиска консоль Active Directory Administrative Center ( dsac.exe ), в ней также можно использовать шаблоны LDAP для поиска. Выберите Global Search и переключитесь в режим Convert to LDAP. Введите запрос в поле LDAP query.

LDAP запросы в консоли Active Directory Administrative Center

Совет. В некоторых случаях для поиска объектов удобно использовать сохраненные LDAP запросы в консоли Active Directory.

Поиск компьютеров в Active Directory

Для поиска компьютеров и серверов в Active Directory по точному вхождению нужно в поле Find выбрать Computers и указать имя компьютера для поиска.

поиск по ключам в именах компьютеров AD

Если нужно найти компьютеры в AD по маске, нужно использовать такой LDAP запрос в разделе Custom Search -> Advanced.

Поиск групп, пользователей и компьютеров в Active Directory с помощью PowerShell

Также для поиска объектов в AD, можно воспользоваться модулем PowerShell для ActiveDirectory.

Для поиска в Active Directory определенного типа объекта можно использовать соответствующий командлет:

  • Get-ADGroup – поиск групп
  • Get-ADUser – поиск пользователей

Итак, сначала нужно импортировать модуль PowerShell:
Import-Module ActiveDirectory

Для поиска групп в AD по шаблону, можно воспользоваться такой командой PowerShell:

Get-ADGroup -Filter -Properties Description,info | Select Name,samaccountname,Description,info | Sort Name

поиск группы в AD с помощью PowerShell

Аналогично можно выполнить поиск по имени компьютера или пользователя:

Get-ADUser -Filter
Get-ADComputer -Filter

Если вы хотите выполнить универсальный поиск по всем типам объектам AD, используйте командлет Get-ADObject:

Get-ADObject -Filter –Properties * | select sAMAccountName, ObjectClass, userPrincipalName, DisplayName, Description | FT

Как вы видите, команда вывели все типа объектов в AD (ObjectClass: computer, user,group, msDS-GroupManagedServiceAccount).

Get-ADObject поиск любых объектов в Active Directory из консоли powershell

Можно использовать LDAP фильтр непосредственно в команде Get-ADObject, также добавим область поиска с помощью опции SearchBase:

Get-ADObject -LdapFilter «(&(objectCategory=person)(objectClass=user)(cn=*sql*))» -SearchBase «OU=SPB,DC=winitpro,DC=ru»

Специальный командлет Search-ADAccount можно использовать для поиска отключенных, неактивных пользователей или компьютеров.

Если вам нужно найти все сервисные аккаунты AD — Group Managed Service Account (MSA и gMSA), используйте команду:

Надеюсь, эти простые способы облегчат вам задачу поиска объектов в Active Directory.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Читайте далее в разделе Active Directory PowerShell

page

page

page

Управление группами Active Directory с помощью PowerShell

Настройка политики паролей в домене Active Directory

Делегирование административных полномочий в Active Directory

Аудит пользователей AD с помощью Powershell

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

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

У вас есть несколько вариантов того, как идентифицировать пользователя: можно использовать Distinguished Name (DN), Globally Unified Identifier (GUID), идентификатор безопасности (SID) или имя учетной записи Security Account Manager (SAM). О том, как можно использовать эти варианты на практике мы поговорим чуть дальше, а пока нам надо подготовить нашу инфраструктуру PowerShell для работы с Active Directory.

Для начала работы с AD нам необходимо установить модуль Active Directory. Сделать это можно двумя способами. Прежде всего, можно установить Remote Server Administration Tools (RSAT). Сделать это можно следующим образом: нажать Start, далее Settings, затем выбрать Apps и Optional Features, после этого добавить компонент с помощью Add и в открывшемся списке выбрать RSAT: Active Directory Domain Services and Lightweight Directory Services Tools option. Для завершения установки нажать Install.

Второй способ установки RSAT еще проще. Мы можем воспользоваться функционалом самого PowerShell для установки непосредственно с узла Windows Update.

Add-WindowsCapability –online –Name «Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0»

Приступим к поискам

Для поиска данных о пользователях в AD мы будем использовать параметр -Identity. Откроем модуль Active Directory Module for Windows Powershell в режиме Администратора.

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

В результате выполнения команды мы получили значения основных полей из AD для данного пользователя. Но мы можем также поискать пользователя по другим параметрам. Например, предположим, что нам известно только значение поля objectGUID (или GUID). В таком случае команда будет иметь следующий вид:

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

Когда объектов слишком много

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

Чтобы избежать подобной ситуации нам необходимо отфильтровать всю базу пользователей и выполнить поиск конкретных пользователей на основе некоторых свойств. Для решения этой задачи предназначен параметр ‘-filter’, указывающий строку запроса, которая извлекает объекты AD. В этой строке используется синтаксис PowerShell Expression Language (EL). Синтаксис PEL обеспечивает расширенную поддержку преобразования типов для типов значений, получаемых параметром Filter. Синтаксис использует представление по порядку, что означает, что оператор помещается между операндом и значением. Давайте рассмотрим несколько примеров, чтобы получить лучшее представление.

Для начала поищем все аккаунты, которые имеют статус Enabled:

Здесь после параметра filter мы в фигурных скобках указываем то логическое выражение, по которому должна осуществляться фильтрация. В данном случае мы получим все активные аккаунты в домене. Если мы к примеру, хотели бы получить список всех пользователей, у которых заполнено поле E-Mail, наш запрос имел бы следующий вид:

Get-ADUser -Filter -Properties Name,GivenName,mail| ft Name,GivenName,mail

Результаты работы команды мы передаем на вход команде ft (Format Table) которая переводит вывод в более читаемый вид.

Таким образом, вы можете использовать -Filter для поиска по другим полям объектов Active Directory.

Еще один пример — это поиск конкретного пользователя по заданному шаблону. Здесь мы найдем все записи, где вхождение такого шаблона используется в имени или фамилии пользователя.

Get-ADUser -Filter -Properties * | ft Name,EmailAddress

Давайте еще сократим нагрузку на нашу инфраструктуру AD ограничив поиск только по определенным Organizational Unit (OU). Для этого воспользуемся параметром -SearchBase.

Get-ADUser -SearchBase ‘OU=»Test Users»,DC=domain,DC=local’ -filter * -Properties Name,EmailAddress | ft Name,EmailAddress

В этом примере мы выводим имена и почтовые адреса пользователей, ограничивая область действия запроса только OU “Test Users”.

По умолчанию GetADUser возвращает десять основных полей, которые мы уже видели ранее, однако мы можем изменить вывод этой команды, указав с помощью ключа Properties те поля, которые нас интересуют. Например, если нам необходимо узнать, когда пользователи в последний раз меняли свои пароли, то это можно сделать с помощью следующей команды:

Get-ADUser -filter * -Properties Name,PasswordLastSet | ft Name,PasswordLastSet

Еще один полезный пример использования -Properties это получение списка пользователей со временем создания их аккаунтов.

Get-ADUser -filter * -Properties Name,whencreated | ft Name,WhenCreated

Заключение

В этой статье мы рассмотрели полезные на практике примеры работы с Active Directory с помощью PowerShell. В следующей статье мы поговорим о том, как PowerShell может помочь при анализе журналов событий.

Также хочу пригласить вас на бесплатный урок: «Написание скриптов на PowerShell и их использование», который пройдет уже в понедельник.

  • windows
  • powershell
  • active directory

Использование средств командной строки службы каталогов для управления объектами Active Directory в Windows Server 2003

В этой статье описывается использование средств командной строки службы каталогов для выполнения административных задач для Active Directory в Windows Server 2003. Следующие задачи разбиты на группы задач.

Применимо к: Поддерживаемые версии Windows Server
Исходный номер базы знаний: 322684

Управление пользователями

В следующих разделах приведены подробные инструкции по управлению группами.

Создание учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsadd user -samid
  • user_dn указывает различающееся имя (также известное как DN) объекта пользователя, который требуется добавить.
  • sam_name указывает имя диспетчера учетных записей безопасности (SAM), используемое в качестве уникального имени учетной записи SAM для этого пользователя (например, Linda).
dsadd user -pwd password 

Чтобы просмотреть полный синтаксис этой команды и получить дополнительные сведения о вводе дополнительных сведений об учетной записи пользователя, в командной строке введите dsadd user /? .

Сброс пароля пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod user -pwd
  • user_dn указывает различающееся имя пользователя, для которого будет сброшен пароль.
  • new_password указывает пароль, который заменит текущий пароль пользователя
dsmod user -mustchpwd

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

Вам необходимо изменить пароль при первом входе в систему

После того как пользователь изменил пароль, процесс входа в систему продолжается.

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

Чтобы просмотреть полный синтаксис этой команды и получить дополнительные сведения о вводе дополнительных сведений об учетной записи пользователя, в командной строке введите dsmod user /? .

Отключение или включение учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod user -disabled
  • user_dn указывает различающееся имя объекта пользователя, который будет отключен или включен.
  • указывает, отключена ли учетная запись пользователя для входа (да) или нет (нет).

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

Удаление учетной записи пользователя

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите dsrm команду , где user_dn указывает различающееся имя удаляемого пользовательского объекта.

После удаления учетной записи пользователя все разрешения и членства, связанные с этой учетной записью пользователя, удаляются без возможности восстановления. Так как идентификатор безопасности (SID) для каждой учетной записи уникален, при создании новой учетной записи пользователя с тем же именем, что и у ранее удаленной учетной записи, новая учетная запись не будет автоматически принимать разрешения и членство для ранее удаленной учетной записи. Чтобы дублировать удаленную учетную запись пользователя, необходимо вручную повторно создать все разрешения и членства.

Чтобы просмотреть полный синтаксис этой команды и получить дополнительные сведения о вводе дополнительных сведений об учетной записи пользователя, в командной строке введите dsrm /? .

Управление группами

В следующих разделах приведены подробные инструкции по управлению группами.

Создание группы

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsadd group -samid -secgrp -scope
  • group_dn указывает различающееся имя объекта группы, который требуется добавить.
  • sam_name указывает имя SAM, которое является уникальным именем учетной записи SAM для этой группы (например, операторов).
  • указывает, является ли группа, которую вы хотите добавить, группой безопасности (да) или группой рассылки (нет).
  • указывает область группы, которую вы хотите добавить (локальный домен [l], глобальный [g] или универсальный [u]).

Если для домена, в котором создается группа, задан уровень работы домена Windows 2000 mixed, можно выбрать только группы безопасности с локальными или глобальными областями домена.

Чтобы просмотреть полный синтаксис этой команды и получить дополнительные сведения о вводе дополнительных сведений о группе, в командной строке введите dsadd group /? .

Добавление участника в группу

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod group -addmbr
  • group_dn указывает различающееся имя объекта группы, который требуется добавить.
  • member_dn указывает различающееся имя объекта, который требуется добавить в группу.

Помимо пользователей и компьютеров, группа может содержать контакты и другие группы.

Чтобы просмотреть полный синтаксис этой команды и получить дополнительные сведения о вводе дополнительных сведений об учетной записи пользователя и группе, в командной строке введите dsmod group /? .

Преобразование группы в другой тип группы

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod group -secgrp
  • group_dn указывает различающееся имя объекта группы, для которого требуется изменить тип группы.
  • указывает, что для типа группы задано значение группа безопасности (да) или группа рассылки (нет).

Чтобы преобразовать группу, функциональность домена должна иметь значение Windows 2000 Native или более поздней версии. Невозможно преобразовать группы, если для функциональных возможностей домена задано значение Windows 2000 Mixed.

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsmod group /? .

Изменение область группы

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod group -scope
  • group_dn указывает различающиеся имена объекта группы, на который будет изменен область.
  • указывает область, которым должна быть присвоена группа (локальная, глобальная или универсальная). Если для домена по-прежнему задано смешанное значение Windows 2000, универсальное область не поддерживается. Кроме того, невозможно преобразовать локальную группу домена в глобальную группу или наоборот.

Области групп можно изменять только в том случае, если для уровня работы домена задано значение Windows 2000 native или выше.

Удаление группы

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsrm . Group_dn указывает различающееся имя удаляемого объекта группы.

При удалении группы группа удаляется без возможности восстановления.

По умолчанию локальные группы, автоматически предоставляемые в контроллерах домена под управлением Windows Server 2003, например Администраторы и Операторы учетных записей, находятся в папке Builtin. По умолчанию общие глобальные группы, такие как «Администраторы домена» и «Пользователи домена», находятся в папке Пользователи. Вы можете добавлять или перемещать новые группы в любую папку. Корпорация Майкрософт рекомендует хранить группы в папке подразделения.

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsrm /? .

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

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsget user -memberof 

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsget user /? .

Управление компьютерами

В следующих разделах приведены подробные инструкции по управлению компьютерами.

Создание учетной записи компьютера

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsadd computer

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsadd computer /? .

Чтобы изменить свойства учетной записи компьютера, используйте команду dsmod computer.

Добавление учетной записи компьютера в группу

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod group -addmbr
  • group_dn указывает различающееся имя объекта группы, в который требуется добавить объект computer.
  • computer_dn указывает различающееся имя объекта-компьютера, добавляемого в группу. Различающееся имя указывает расположение папки.

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

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsmod group /? .

Сброс учетной записи компьютера

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod computer -reset 

В computer_dn указываются различающиеся имена одного или нескольких объектов-компьютеров, которые требуется сбросить.

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

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsmod computer /? .

Отключение или включение учетной записи компьютера

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsmod computer -disabled
  • computer_dn указывает различающееся имя объекта-компьютера, который требуется отключить или включить.
  • указывает, отключен ли компьютер для входа (да) или нет (нет).

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

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsmod computer /? .

Управление подразделениями

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

Создание подразделения

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. Введите следующую команду:
dsadd ou

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsadd ou /? .

Чтобы изменить свойства подразделения, используйте dsmod ou команду .

Удаление подразделения

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsrm . Organizational_unit_dn указывает различающееся имя удаляемого подразделения.

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsrm /? .

При удалении подразделения все содержащиеся в нем объекты удаляются.

Поиск в Active Directory

В следующих разделах приведены подробные инструкции по поиску в Active Directory.

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

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery user . Параметр указывает используемый параметр. Список параметров см. в справке по команде d squery user в Интернете.

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsquery user /? .

Поиск контакта

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery contact . Параметр указывает используемый параметр. Список параметров см. в интерактивной справке по команде dsquery user.

Поиск группы

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery group . Параметр указывает используемый параметр. Список параметров см. в интерактивной справке по команде dsquery user.

По умолчанию локальные группы, автоматически предоставляемые в контроллерах домена под управлением Windows Server 2003, например Администраторы и Операторы учетных записей, находятся в папке Builtin. По умолчанию общие глобальные группы, такие как «Администраторы домена» и «Пользователи домена», находятся в папке Пользователи. Вы можете добавлять или перемещать новые группы в любую папку. Корпорация Майкрософт рекомендует хранить группы в папке подразделения.

Поиск учетной записи компьютера

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery computer -name . Имя указывает имя компьютера, по которому выполняется поиск команды. Эта команда выполняет поиск компьютеров, атрибуты имени которых (значение атрибута CN) соответствуют имени.

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsquery computer /? .

Поиск подразделения

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery ou . Параметр указывает используемый параметр. Список параметров см. в интерактивной справке по . dsquery ou

Чтобы просмотреть полный синтаксис этой команды, в командной строке введите dsquery ou /? .

Поиск контроллера домена

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery server . Параметр указывает используемый параметр. Существует несколько атрибутов сервера, которые можно найти с помощью этой команды. Список параметров см. в интерактивной справке по dsquery server.

Выполнение пользовательского поиска

  1. Нажмите кнопку Пуск и выберите пункт Выполнить.
  2. В поле Открыть введите cmd.
  3. В командной строке введите команду dsquery * . Параметр указывает используемый параметр. С помощью этой команды можно выполнить поиск по нескольким атрибутам. Дополнительные сведения о поиске LDAP см. в разделе Комплект ресурсов Windows Server 2003.

Ссылки

Для получения дополнительных сведений о средствах командной строки служб каталогов в Windows Server 2003 нажмите кнопку Пуск, щелкните Центр справки и поддержки, а затем в поле Поиска введите средства командной строки службы каталогов.

Обратная связь

Были ли сведения на этой странице полезными?

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

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

Примечание. Ранее для получения информации об атрибутах учетных записей пользователей AD приходилось использовать различные инструменты: консоль ADUC (в том числе сохраненные запросы AD), vbs скрипты, утилиту dsquery и т.п. Выбор инструмента обычно основывался на поставленной задачи и способностях администратора в программировании.

В 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 командой:

Import-Module activedirectory

Совет. В Windows Server 2012 и выше этот пункт можно пропустить, так как модуль PowerShell 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).

RSAT включить модуль Active Directory Module for Windows PowerShell

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

help Get-ADUser

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

Get-ADUser -filter *

Важно. Не рекомендуется выполнять эту команду в доменах с большим количеством аккаунтов, т.к. возможно перегрузка контроллера домена, предоставляющего данные.

Get-ADUser -filter * - вывести список всех пользователей в AD

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

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

Get-ADUser -identity tuser -properties *

Get-ADUser - все свойства пользователя в Active Directory

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

  • PasswordExpired
  • PasswordLastSet
  • PasswordNeverExpires
Get-ADUser tuser -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires

Get-ADUse - время смены и истечения срока действия пароля в AD

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

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Get-ADUser - табличное преставление о свойствах пользователей

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

Get-ADUser -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

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

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:\temp\users.txt

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

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | where | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c:\temp\user-password-expires-2015.csv

Get-ADUser с условием where и сохранением в csv

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

Совет. Для получения данных о компьютерах Active Directory используется командлет Get-ADComputer.

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

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

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

Get-ADUser -filter

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

Get-ADUser -Filter | Measure-Object

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

Get-ADUser -Filter | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

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

Get-ADUser -filter -properties passwordExpired | where

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

Get-ADUser -Filter <(mail -ne "null") -and (Enabled -eq "true")>-Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Format-Table

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

Import-Csv c:\ps\usernsme_list.csv | ForEach

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

Get-ADUser -Filter <(mail -ne "null") -and (Enabled -eq "true")>-Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:temp\mail_list.csv

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

$90_Days = (Get-Date).adddays(-90) Get-ADUser -filter

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

$user = Get-ADUser winadmin -Properties thumbnailPhoto $user.thumbnailPhoto | Set-Content winadmin.jpg -Encoding byte

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

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

(Всего просмотров: 33 173, просмотров сегодня: 4)
IT-аутсорсинг – это надежно и выгодно.

Профессиональная поддержка ПК, поддержка IT-системы в целом – это то, о чем нужно задуматься уже сегодня. Доверьте это специалистам. Успехов!

Месяц без оплаты. Подробнее!

Попробуйте наши услуги обслуживания и получите третий месяц обслуживания в подарок!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *