Назад | Перейти на главную страницу

24 часа истечения первого пароля

РЕДАКТИРОВАТЬ ** Я думаю о запуске запланированной задачи в конце каждого рабочего дня, чтобы получить все учетные записи, которые никогда не входили в систему, и отключить свои учетные записи. Извините за синтаксические ошибки. Я вполне могу возиться здесь. Кто-нибудь может сказать, сработает ли это решение?

get-aduser -f {-not ( lastlogontimestamp -like "*")} | Disable-ADAccount

Исходный вопрос **

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

Моя текущая роль (я новичок) имеет отраслевой стандарт для истечения срока действия / отключения учетных записей, если пароль первого использования не был использован в течение 24 часов. Я провел поиск и обнаружил, что AD не поддерживает эту функцию, но узнал, что это возможно с помощью сценария. У аудита сжатые сроки, и я должен сказать, что мы немного в отчаянии.

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

большое спасибо

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

LastLogonDate PasswordLastSet

get-aduser -identity ACCOUNTNAME -properties LastLogonDate,PasswordLastSet 

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

Get-ADuser -f {-not ( lastlogontimestamp -like "*") -and (enabled -eq $true)} | Disable-ADAccount

Active Directory не имеет возможности установить срок действия пароля для отдельных учетных записей. Когда истекает срок действия паролей, он проверяет Атрибут Pwd-Last-Set против глобального Макс-возраст настройка.

Если вы используете какой-то сценарий для создания учетных записей пользователей, я бы сделал следующее:

  • Измените сценарий создания пользователя, чтобы добавить его к списку имен пользователей и отметок времени Pwd-Last-Set.
  • Создайте запланированную задачу, которая выполняет итерацию по списку. Если отметка времени Pwd-Last-Set в учетной записи такая же, как и в файле (т.е. они не меняли пароли), а отметка времени в файле старше 24 часов, установите для атрибута Pwd-Last-Set учетной записи значение 0 и при необходимости снимите флаг срока действия. Это немедленно приведет к истечению срока действия пароля.

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

Я вижу, что этот вопрос довольно старый, однако, сравнивая значения Created или CreatedTimeStamp свойства, наряду с PasswordLastSet собственность должна быть началом.

get-aduser -identity [accountname] -properties Created,CreatedTimeStamp,PasswordLastSet,LastLogonDate

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

К вашему сведению, я не могу комментировать, иначе я бы ответил на его комментарий.