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

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

Добрый день уважаемые читатели и подписчики, продолжаем с вами изучение возможностей Powershell и Active Directory. Как вы помните у нее все учетные записи пользователей и компьютеров, находятся в базе данных NTDS.dit, все здорово и централизованно. Когда в компании больше одного системного администратора, может получиться ситуация, что в ней накапливается мусор и лишние учетные данные. Все мы люди и какие-то вещи можем забывать, а в какие-то моменты нас могут отвлечь, что приведет, так же к забыванию важной информации. И приходим, мы к тому, что в Actvie Directory накапливаются не активные пользователи (уволенные или забытые), в любом случае, хороший системный администратор должен их выявлять, отключать и дальше по желанию удалять, чем мы и займемся.

Как найти устаревшие учетные записи пользователей

Через оснастку ADUC

В прошлый раз я вам уже приводил пример использования оснастки Active Directory Пользователи и компьютеры, через которую мы искали пропавшие компьютеры в локальной сети, которые не появлялись уже месяц. Сейчас сделаем все то же самое и с пользовательскими учетными записями. У меня AD на Windows Server 2012 R2, открываем ADUC, для этого нажмите WIN+R и введите dsa.msc.

Как найти устаревшие учетные записи пользователей

Далее переходите в пункт Сохраненные запросы, данный пункт появился еще в 2008 версии. Щелкаем по нему правым кликом и выбираем Создать > Запрос.

Поиск неактивных пользоваелей в Active Directory-2

В открывшейся форме запроса задайте:

  • Имя запроса > у меня это потерявшиеся пользователи
  • Описание при необходимости
  • Корень запроса > тут можно оставить весь домен, либо же конкретизировать на нужном OU

После чего жмем кнопку запрос.

Как найти устаревшие учетные записи пользователей-2

На вкладке пользователи видим пункт "Число дней со времени последнего входа в систему" я для примера поставил 60 дней.

Как найти устаревшие учетные записи пользователей-3

В итоге вы получите нужный вам список, неактивных учетных записей сотрудников.

Поиск неактивных пользоваелей в Active Directory-2

Через оснастку powershell

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

$date_with_offset= (Get-Date).AddDays(-45)
$users = Get-ADUser -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort LastLogonDate
foreach ($user in $users) {set-aduser $user -enabled $false; move-adobject -identity $user -targetpath "ou=Уволенные,ou=Мск Л. пользователи,ou=Местоположение,dc=msk,dc=contoso,dc=com"}
Get-ADUser -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:\Script\users.txt

  • В первой строке вы объявляете переменную, в которой задаете срок поиска
  • Создаем переменную и делаем выборку по последнему времени логина
  • Перемещаем пользователей

Поиск неактивных пользователей в Active Directory-4

  • Делаем отчет в файл

Поиск неактивных пользователей в Active Directory-3

Еще полезные вещи по работе с пользователем. Перед использованием ниже команд, нужно загрузить модуль Active Directory, через команду

Import-Module activedirectory

Далее получаем справку по команде Get-ADUser

Get-Help Get-ADUser

Поиск неактивных пользователей в Active Directory-5

Теперь посмотрим на базовые параметры пользователя, через команду

Get-ADUser -Identity sem

Как видите не особо информативно, но из полезного есть SID учетной записи пользователя.

Поиск неактивных пользователей в Active Directory-6

Более детально по свойствам можно посмотреть вот такой строкой.

Get-ADUser -Identity sem _properties *

Поиск неактивных пользователей в Active Directory-7

Через такую конструкцию вы можете выводить конкретные поля.

Get-ADUser -identity sem -Properties * | FT Name, LastLogonDate -Autosize

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

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. ange

    Спасибо за полезные LDAP запросы

  2. Дмитрий

    добрый день.
    LastlogonDate не меняется если пользователь залогинися на компьютер и работает без перезагрузки месяц, но станцию блокирует, такое бывает. а как найти пользователей, которые не аутентифицировались (я так понимаю что при разблокировке станции именно это и происходит) на контроллере последние N дней?
    задача отсеять в AD неактивных пользователей.