Вопрос или проблема
Я пытаюсь использовать разрешение “Unexpire-Password” в среде Active Directory.
Вы можете ознакомиться с документацией по ссылке: https://learn.microsoft.com/en-us/windows/win32/adschema/r-unexpire-password.
Обратите внимание, что это не то же самое, что настройка “Пароль никогда не истекает”.
Насколько я понял, если пароль userA истек, это разрешение должно позволить некоторому пользователю, например userB, восстановить срок действия пароля с помощью этого разрешения, но я не смог найти подробную документацию, поэтому не уверен, как userB должен это сделать.
Я попробовал следующее:
На моем контроллере домена 2016 я настроил разрешение с помощью графического интерфейса Active Directory Users and Computers. В разделе “Вид” я включил “Дополнительные функции”, и в корневом доменном объекте перешел в свойства > безопасность > дополнительно. Затем я нажал “добавить” и выбрал главного пользователя userB, чтобы дать ему разрешение “Unexpire Password”. В разделе “применяется к” я использовал опцию “Этот объект и все дочерние объекты”.
После этого я изменил политику паролей на максимальный срок действия пароля в 1 день, и когда пароль userA истек, я попытался установить атрибут pwdLastSet на 0 (также попробовал -1), но получил ошибку “Доступ запрещен”.
Я попытался дать userB разрешение на запись свойства WritepwdLastSet тем же методом, но это также не помогло.
Важно отметить, что, например, разрешение “Reset Password” работает, и я могу сбросить пароль userA с помощью userB.
Разница между разрешениями “Reset Password” и “Unexpire Password” в том, что “Unexpire Password” является расширенным правом, которое можно найти здесь: https://learn.microsoft.com/en-us/windows/win32/adschema/extended-rights, и оно может быть применено только к корневому доменному объекту в отличие от “Reset Password”, которое может быть применено к “User object”.
Более важная информация:
- userA — это обычный только что созданный пользователь.
- userB — это обычный пользователь только с соответствующими разрешениями.
- Нет никакой групповой политики, кроме политики по умолчанию и максимального срока действия пароля, измененного в этой политике.
Моя цель — понять, как я могу правильно использовать это разрешение, чтобы пользователь мог “восстановить срок действия пароля для объекта пользователя”, как указано в документации Microsoft.
Если вам нужна дополнительная информация, я с удовольствием предоставлю её.
Ответ или решение
Использовать разрешение "Unexpire-Password" в среде Active Directory может быть непростой задачей, особенно если вы столкнулись с проблемами при исполнении этой функции несмотря на заявленное предоставление прав. Рассмотрим теорию, пример и применение этого разрешения, чтобы максимально эффективно разобраться с его использованием.
Теория
Разрешение "Unexpire-Password" является расширенным правом в Active Directory, которое предназначено для "восстановления" срока действия пароля для объектов пользователей. Это право позволяет пользователю с такими правами "разблокировать" учетную запись другого пользователя без необходимости именно изменять пароль. Таким образом, когда пароль пользователя истек, другой пользователь может разрешить использовать текущий пароль, продлевая его срок действия.
Отличие от "Password never expires": настройка "Пароль никогда не истекает" задается на уровне политики учетной записи и обеспечивает постоянный доступ без истечения срока действия. В отличие от этого, "Unexpire-Password" дается как временная мера для решения проблемы с истекшим паролем.
Пример
Вы описали эксперимент с настройкой в Windows Server 2016. Ниже приведено, что вы уже сделали и дальнейшие шаги для успешной настройки:
-
Настройка разрешения: Вы правильно открыли консоль Active Directory Users and Computers, включили "Advanced Features" и добавили разрешение "Unexpire Password" для пользователя userB через раздел "Security > Advanced". Это теоретически дает userB возможность "восстанавливать" истекший пароль userA.
-
Неудачная попытка через атрибут pwdLastSet: Использование этого разрешения, по вашему расчету, через изменение атрибута pwdLastSet не сработало, что связано с тем, что данное разрешение не предназначено для работы на уровне атрибутов как "Write" на pwdLastSet. Атрибут pwdLastSet используется в других контекстах и не предназначен для прямого изменения с целью "разблокировки".
-
Сравнение с "Reset Password": Вы указали, что "Reset Password" выполняется корректно с помощью userB. Это связано с наличием прямого права на уровне объекта пользователя, а не всего домена. "Unexpire Password", в свою очередь, действует на уровне домена или контейнера, и его функциональность несколько отличается.
Применение
Для успешного применения разрешения "Unexpire-Password" рекомендуется проверить следующие шаги и настройки:
-
Проверьте наследование прав: Убедитесь, что права, назначенные userB, корректно наследуются для всех требуемых объектов. Вы применили это к объекту корня домена, важно удостовериться, что права действительно доходят до всех подчиненных объектов.
-
Используйте подходящие инструменты: Необходимо использовать инструменты, такие как командлеты PowerShell, которые могут интерпретировать и корректно применять данные расширенные права. Например, использование командлетов в PowerShell может помочь проверить и подтвердить наличие прав на исполнение.
-
Логирование и аудит событий: Включите аудит и проверьте журнал событий на предмет зарегистрированных ошибок или предупреждений, связанных с попытками изменения сроков действия пароля. Это часто помогает выявить в чем именно заключалась ошибка — в неверных правах или неправильно направленной операции.
-
Консультации с документацией Microsoft: Убедитесь, что вы пользуетесь актуальными версиями документации, поскольку Microsoft периодически обновляет свои рекомендации и исправляет ошибки в предыдущих версиях.
-
Административные инструменты: Иногда стандартные средства GUI имеют ограничения, и использование дополнительных софтверных инструментов для управления Active Directory может предложить более глубокий контроль над расширенными правами.
Если после всех вышеуказанных шагов проблема с разрешением не решена, возможно, стоит обратиться за технической поддержкой Microsoft или специализированных форумов, где профессионалы в области Active Directory могут предложить конкретные советы и решения. В этом контексте важно армиичально пройтись по методике применения и подтверждения права "Unexpire-Password", чтобы убедиться в его эффективности в вашем окружении.