Как продлить пароль пользователя Active Directory

Как продлить пароль пользователя в Active Directory

Добрый день! Уважаемые читатели и гости блога. В любых крупных организациях, где используется доменная структура Active Directory существует политика паролей, в которой одним из обязательных пунктов будет срок действия. Бывают ситуации, когда пользователю по ряду причин необходимо его продлить, например по причине того, что он в отпуске или работает удаленно, но с плохим интернет соединением, из-за которого не может своевременно его сменить. Вот в таких ситуациях вы можете в ручном режиме увеличить срок действия пароля у нужного пользователя. Ниже я покажу, какими инструментами это можно выполнить.

Ранее я вам рассказывал, как можно мониторить состояние и срок пароля у VIP-пользователей. Вот тут такое ручное продление может помочь, когда на день, два нужно дать возможность поработать со старым паролем.

Какой атрибут отвечает за срок действия пароля пользователя в Active Directory

Мы с вами уже умеем определять срок окончания пароля у пользователя Active Directory и знаем, что там есть атрибут pwdLastSet. Напомню, что данный атрибут хранит время назначения пароля и позволяет задав ему нужные значения, сбросить данный счетчик или задать дату.

  • -1 — сбрасывает значение на текущую дату и время
  • 0 — сбрасывает счетчик в состояние "Пароль не был установлен", подставляя текущую дату.

Продление пароля пользователя через оснастку ADUC

Для начинающих администраторов или специалистов технической поддержки, привычным будет использование оснастки ADUC (Active Directory - Пользователи и Компьютеры), единственное вы в ней должны включить редактор атрибутов. У меня для моих тестов есть учетная запись Барбоскина Геннадия. Открываем свойства учетной записи и на вкладке "Attribute Editor" найдите атрибут pwdLastSet. Щелкните по нему двойным кликом, у вас должна открыться форма редактирования.

Сначала введите 0 и сохраните изменения.

После этого введите значение -1. Это установит текущую дату.

Изменение pwdLastSet в ADUC

В результате дата стала текущая.

Успешное продление пароля в ADUC

Может быть интересным - Как определить кто сбросил пароль пользователя в Active Directory

Продление пароля пользователя через оснастку Active Directory Administrative Center

Я вас уже в статье про инструменты Active Directory знакомил с оснасткой центра администрирования AD. Открываем оснастку dsac.exe и производим глобальный поиск вашего пользователя, через раздел "Global Search". Далее переходим в свойства учетной записи.

Глобальный поиск в оснастке dsac

Переходим в раздел "Extension" там видим привычные вкладки. Находим тут "Attribute Editor", где нужно перейти к атрибуту pwdLastSet. С помощью кнопки "Edit" установите значение "0" и сохраните изменения.

Продление пароля в dsac

Теперь вновь меняем значения, но уже на -1, и сохраняем изменения.

Изменение значения pwdLastSet

После этого атрибут pwdLastSet получит значение в виде текущей даты, это нам и нужно.

Управление продление пароля пользователя Active Directory с помощью PowerShell

Графические оснастки это все замечательно, но для ускорения продления пароля пользователя я предпочитаю использовать PowerShell. Запустите оболочку ISE в режиме администратора и введите вот такие команды:

Set-ADUser barboskin -Replace @{pwdLastSet='0'}
Set-ADUser barboskin -Replace @{pwdLastSet='-1'}
Get-ADUser barboskin -Properties * | fl SamAccountName,*EXPIRE*,whenChanged,pwdLastSet,PasswordLastSet

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

Управление продление пароля пользователя Active Directory с помощью PowerShell

 

# На данном шаге мы указываем путь до нашего файла с логинами
$userListPath = "C:\temp\users.txt"

# Производим импорт списка логинов из текстового файла, полученного на первом шаге
$userLogins = Get-Content -Path $userListPath

foreach ($login in $userLogins) {
# Устанавливаем для атрибута pwdLastSet значение 0
Set-ADUser -Identity $login -Replace @{pwdLastSet='0'}

# Устанавливаем для атрибута pwdLastSet значение -1
Set-ADUser -Identity $login -Replace @{pwdLastSet='-1'}
}

# Получаем информацию о пользователях и выводим в табличном виде

$userInfo = @()

foreach ($login in $userLogins) {
$user = Get-ADUser -Identity $login -Property SamAccountName, PasswordLastSet, whenChanged
if ($user) {
$userInfo += [PSCustomObject]@{
SamAccountName = $user.SamAccountName
EXPIRE = if ($user.PasswordLastSet -eq $null) {'Never'} else {($user.PasswordLastSet.AddDays(90))}
whenChanged = $user.whenChanged
pwdLastSet = $user.PasswordLastSet
}
}
}

# Выводим информацию в табличном виде
$userInfo | Format-Table -AutoSize

Массовое продление паролей в Active Directory

Надеюсь, что вам это было полезно и какой метод выбирать уже ваше дело. С вами был Иван Сёмин. автор и создатель IT блога Pyatilistnik.org,

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