Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Ограничение срока действия учетной записи AD через GPO и PowerShell

Обновлено: 08.09.2026  ·  Официальная база знаний

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

При попытке входа в домен пользователь получает сообщение: Срок действия учетной записи данного пользователя истек. Обратитесь к системному администратору («The user's account has expired», ошибка аутентификации 0x80070524 / STATUS_ACCOUNT_EXPIRED). В журнале безопасности контроллера домена регистрируется событие Event ID 4625 (с подстатусом 0xC0000193).

Код событияПодстатус Kerberos/NTLMОписание причины
Event ID 46250xC0000193 (STATUS_ACCOUNT_EXPIRED)Текущая дата превысила значение атрибута accountExpires объекта пользователя
Event ID 4726User Account ManagementУдаление или плановое отключение истекшей учетной записи автоматизацией
Ошибка 0x80070524Winlogon ClientБлокировка интерактивного входа на рабочей станции

Пошаговая настройка срока действия учетных записей

  1. Установка точной даты истечения учетной записи через PowerShell: параметр accountExpires хранится в формате FileTime. Для назначения срока используйте командлет Set-ADAccountExpiration:
    Set-ADAccountExpiration -Identity "ivan.ivanov" -DateTime (Get-Date).AddDays(30)
  2. Массовая установка срока действия для сотрудников конкретного OU:
    Get-ADUser -Filter * -SearchBase "OU=Temporary,DC=company,DC=local" | Set-ADAccountExpiration -DateTime (Get-Date "2025-12-31 23:59:59")
  3. Автоматизация поиска и отключения истекших учетных записей через планировщик: создайте задачу по расписанию со скриптом:
    Search-ADAccount -AccountExpired | Disable-ADAccount
  4. Ограничение времени входа в систему (Logon Hours) через GPO / ADUC: в консоли dsa.msc откройте свойства пользователя > Учетная запись > Время входа (Logon Hours) и задайте разрешенные рабочие интервалы.

Важно: Значение атрибута accountExpires = 9223372036854775807 или 0 означает, что срок действия учетной записи никогда не истекает (Never Expires).

Практический опыт инженера: Практика ITSTM: При найме подрядчиков и стажеров всегда используйте скрипт создания с обязательным ключом -AccountExpirationDate. Для выявления заброшенных учетных записей запускайте аудит командой Search-ADAccount -AccountExpiring -TimeSpan 7.00:00:00.

Частые вопросы (FAQ)

Можно ли задать автоматический срок действия новых пользователей через GPO?

Напрямую в стандартных объектах GPO нет параметра для задания AccountExpires при создании. Это автоматизируется через политики подготовки учетных записей (Identity Provisioning) или PowerShell-скрипты при создании объекта.

Что происходит с активной сессией пользователя, когда наступает время истечения?

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

Как сбросить дату истечения и сделать учетную запись бессрочной?

Выполните команду PowerShell: Clear-ADAccountExpiration -Identity 'username'.

В каком часовом поясе сохраняется атрибут accountExpires?

Атрибут accountExpires сохраняется в базе Active Directory в формате UTC (Coordinated Universal Time) и конвертируется в локальное время при просмотре.