Автоматическое отключение неактивных учетных записей пользователей в Active Directory | Информационные технологии от Вальдемарыча

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

Представляю вам скрипт на языке сценариев Windows PowerShell, который позволит не только отключить неактивные определенное количество дней учетные записи пользователей, но и добавить к ним описание с датой, когда было выполнено отключение. Кроме того, отключенные учетные записи пользователей будут перенесены в соответствующую организационную единицу, а также будет создаваться лог-файл со списком отключенных учетных записей пользователей.

Загрузить скрипт можно перейдя по ссылке.

Далее вам потребуется открыть скрипт в текстовом редакторе или в Windows PowerShell ISE и изменить несколько значений, чтобы скрипт корректно выполнялся в вашей организации.

  • В переменной «LogFolder» необходимо указать путь к папке, где будут создаваться лог-файлы со списком отключенных учетных записей пользователей.
  • В переменной «OU» необходимо указать путь к организационной единице, где хранятся учетные записи пользователей в вашей организации.
  • В переменной «InactiveUserOU» необходимо указать путь к организационной единице, куда будут переноситься отключенные учетные записи пользователей в вашей организации.
  • В переменной «UnusedDays» необходимо указать количество дней, по прошествии которых неактивные учетные записи пользователей будут отключаться.

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

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

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

Открываем Server Manager, нажимаем на кнопку «Tools» в правом верхнем углу экрана и выбираем «Active Directory Users and Computers».

В данном руководстве скрипт будет выполняться на контроллере домена под сервисной учетной записью. В качестве сервисной учетной записи будет использоваться учетная запись «Disable Users» с логином «dusers».

Нажимаем правой кнопкой мыши по организационной единице, где хранятся сервисные учетные записи и выбираем «New», затем «User».

Указываем имя, фамилию и логин для новой сервисной учетной записи.

Нажимаем на кнопку «Next».

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

Снимаем галочку с пункта «User must change password at next logon».

Ставим галочку на пункте «User cannot change password».

Ставим галочку на пункте «Password never expires».

Нажимаем на кнопку «Next».

Нажимаем кнопку «Finish».

Сервисная учетная запись успешно создана.

Теперь необходимо добавить сервисную учетную запись в группу «Backup Operators», чтобы под этой учетной записью можно было выполнять задания в планировщике заданий.

Нажимаем правой кнопкой мыши по ранее созданной сервисной учетной записи и выбираем «Add to a group».

Указываем группу «Backup Operators» и нажимаем на кнопку «Check Names».

Группа найдена, нажимаем на кнопку «OK».

Сервисная учетная запись успешно добавлена в группу «Backup Operators».

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

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

Нажимаем правой кнопкой мыши по организационной единице, где хранятся учетные записи пользователей, и выбираем «Delegate Control».

Нажимаем на кнопку «Next».

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

Нажимаем на кнопку «Add».

Указываем логин ранее созданной сервисной учетной записи и нажимаем на кнопку «Check Names».

Учетная запись найдена, нажимаем на кнопку «OK».

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

Нажимаем на кнопку «Next».

В разделе «Delegate the following common tasks» ставим галочку на пункте «Create, delete, and manage user accounts».

Нажимаем на кнопку «Next».

Права для сервисной учетной записи успешно делегированы на организационную единицу, где хранятся учетные записи пользователей.

Нажимаем на кнопку «Finish».

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

Копируем скрипт на контроллер домена в заранее подготовленную для него папку.

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

В Server Manager, нажимаем на кнопку «Tools» в правом верхнем углу экрана и выбираем «Task Scheduler».

В меню «Actions» выбираем «Create Task».

На вкладке «General», в поле «Name», указываем имя для нового задания.

Далее в разделе «Security options» находим пункт «When running the task, use the following user account» и нажимаем на кнопку «Change User or Group», чтобы указать сервисную учетную запись, под которой будет выполняться задание.

Указываем логин ранее созданной сервисной учетной записи и нажимаем на кнопку «Check Names».

Учетная запись найдена, нажимаем на кнопку «OK».

Далее в разделе «Security options» выбираем «Run whether user is logged on or not».

В пункте «Configure for» выбираем «Windows Server 2012 R2».

На вкладке «Triggers» нажимаем на кнопку «New», чтобы создать расписание, по которому будет выполняться задание.

В данном руководстве задание будет выполняться каждый день в 17:00.

Указываем подходящее вам расписание для выполнения задания.

Ставим галочку на пункте «Stop task if it runs longer than» и выбираем «3 days».

Ставим галочку на пункте «Enabled» и нажимаем на кнопку «OK».

На вкладке «Actions» нажимаем на кнопку «New», чтобы указать скрипт, который необходимо выполнять.

В пункте «Actions» выбираем «Start a program».

В поле «Program/script» необходимо указать путь к «powershell.exe».

Нажимаем на кнопку «Browse»

Путь к «powershell.exe» выглядит так: %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

В поле «Add arguments (optional)» указываем путь к скрипту и нажимаем на кнопку «OK».

Нажимаем на кнопку «OK».

Указываем логин и пароль от ранее созданной сервисной учетной записи и нажимаем на кнопку «OK».

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

Теперь проверим работу задания и скрипта.

Выбираем ранее созданное задание и в меню «Actions» выбираем «Run».

Задание успешно отработало.

Скрипт успешно отработал.

Учетная запись неактивного пользователя успешно отключена и перенесена в организационную единицу, где хранятся отключенные учетные записи пользователей.

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

Автор

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.