Срок действия пароля для учетной записи этого пользователя истек windows server

Несмотря на то, что Microsoft убрала требование регулярной смены пароли пользователей из своих рекомендаций безопасности, в большинстве on-prem доменов Active Directory включена политика, ограничивающая срок действия паролей пользователей. Часто пользователи забывают вовремя сменить свой пароль, срок действия которого истек, что вызывает лишние обращения в службы ИТ поддержки.

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

Содержание:

  • Как узнать срок действия пароля пользователя в Active Directory?
  • Политика оповещения об окончании срока действия пароля
  • Вывести уведомление об истечении срока пароля с помощью PowerShell
  • PowerShell: отправка почтовых уведомлений об истечении пароля на e-mail

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

Срок действия пароля пользователя в домене определяется настройками парольной политики AD. Текущие настройки политики срока действия паролей в домене можно получить с помощью команды PowerShell:

Get-ADDefaultDomainPasswordPolicy|select MaxPasswordAge

В нашем примере максимальный срок действия пароля пользователя в домене – 60 дней.

Get-ADDefaultDomainPasswordPolicy срок действия пароля в домене MaxPasswordAge

Также опционально для некоторых пользователей/групп могут быть включены гранулированные политики паролей (Fine-Grained Password Policy) с другими настройками срока действия пароля.

В свойствах пользователя в Active Directory содержится только атрибут pwdLastSet, который содержит дату последней смены пароля ( можно посмотреть в консоли ADUC -> вкладка редактор атрибутов AD).

pwdLastSet в свойтсвах пользователя

Узнать дату окончания срока действия пароля пользователя в домене можно с помощью PowerShell (требуется модуль AD PowerShell), который позволяет получить значение атрибута msDS-UserPasswordExpiryTimeComputed. Этот constructed-атрибут автоматически вычисляется на основании времени последней смены пароля и парольной политики:

Get-ADUser -Identity a.ivanov -Properties msDS-UserPasswordExpiryTimeComputed, PasswordLastSet, PasswordNeverExpires, PasswordExpired |Select-Object -Property Name,PasswordLastSet, PasswordNeverExpires, PasswordExpired,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}

msDS-UserPasswordExpiryTimeComputed атрибут ad

Командлет возвращает такие значения таких атрибутов:

  • PasswordLastSet — время последней смены пароля;
  • PasswordNeverExpires – возвращает True, если пароль пользователя никогда не устаревает (бессрочный пароль). Это один из битовых значений атрибута UserAccountControl);
  • PasswordExpired – возвращает True, если пароль пользователя устарел;
  • ExpiryDate – дата, когда истечет срок действия пароля

Вывести всех пользователей из определенного контейнера (OU) AD, срок действия пароля которых уже истек:

$Users = Get-ADUser -SearchBase 'OU=Users,OU=SPB,DC=corp,DC=winitpro,DC=ru' -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties msDS-UserPasswordExpiryTimeComputed, PasswordLastSet
$Users | select Name, @{Name="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}, PasswordLastSet | where ExpirationDate -lt (Get-Date)

Список пользователей AD с истекшими паролями

Если значение msDS-UserPasswordExpiryTimeComputed равно 0, значит pwdLastSet пустой (null) или равен 0 (пароль пользователя никогда не менялся).

Политика оповещения об окончании срока действия пароля

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

Политика называется Interactive logon: Prompt user to change password before expiration и находится в разделе GPO Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options

политика уведомления о неоходимости смены пароля Interactive logon: Prompt user to change password before expiration

По умолчанию эту политика включена на уровне локальной групповой политики Windows и уведомления начинают появляться за 5 дней до истечения срока действия пароля. Вы можете изменить количество дней, в течении которых должно появляться уведомление о смене пароля.

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

Consider changing your password
Your password will expire in xx days.
 

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

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

Следующий PowerShell скрипт будет выводить всплывающее уведомление с предложением сменить пароль, если он истекает менее чем через 5 дней:

$DaysLeft = 5
try{
Add-Type -AssemblyName PresentationCore,PresentationFramework,WindowsBase,system.windows.forms
} catch {
Throw "Failed to load Windows Presentation Framework assemblies."
}
$curruser= Get-ADUser -Identity $env:username -Properties 'msDS-UserPasswordExpiryTimeComputed','PasswordNeverExpires'
if ( -not $curruser.'PasswordNeverExpires') {
$timediff=(new-timespan -start (get-date) -end ([datetime]::FromFileTime($curruser."msDS-UserPasswordExpiryTimeComputed"))).Days
if ($timediff -lt $DaysLeft) {
$msgBoxInput = [System.Windows.MessageBox]::Show("Ваш пароль истекает через "+ $timediff + " дней!`nХотите сменить пароль сейчас?","Внимание!","YesNo","Warning")
switch ($msgBoxInput) {
'Yes' {
$Console = quser | Select-String -Pattern ">"| Select-String -Pattern "console" -Quiet
if ( $Console ) {
Start-Process -FilePath powershell -ArgumentList "-command Set-ADAccountPassword -Identity $env:username ; pause"
 }
else {
cmd /c "C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
}
}
'No' { }
}
}
}

Если до истечения срока действия пароля пользователя осталось менее 5 дней, скрипт предложит пользователю сменить пароль. Если пользователь нажимает Да, выполняется проверка залогинен ли пользователь на консоль компьютера:

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

Однако это будет работать только на компьютерах, добавленных в домен Active Directory. Если пользователь подключается к домену через VPN (и вы не можете настроили запуск VPN до входа в Windows) или веб клиенты (типа OWA), он не увидит уведомления о приближении даты окончания срока действия пароля. В этом случае можно оповещать пользователей об истечении пароля по почте.

PowerShell: отправка почтовых уведомлений об истечении пароля на e-mail

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

$Sender = "[email protected]"
$Subject = 'Внимание! Скоро истекает срок действия Вашего пароля!'
$BodyTxt1 = 'Срок действия Вашего пароля для'
$BodyTxt2 = 'заканчивается через '
$BodyTxt3 = 'дней. Не забудьте заранее сменить Ваш пароль. Если у вас есть вопросы, обратитесь в службу HelpDesk.'
$smtpserver ="smtp.domain.com"
$warnDays = (get-date).adddays(7)
$2Day = get-date
$Users = Get-ADUser -SearchBase 'OU=Users,DC=corp,DC=winitpro,DC=ru' -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties msDS-UserPasswordExpiryTimeComputed, EmailAddress, Name | select Name, @{Name ="ExpirationDate";Expression= {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}, EmailAddress
foreach ($user in $users) {
if (($user.ExpirationDate -lt $warnDays) -and ($2Day -lt $user.ExpirationDate) ) {
$lastdays = ( $user.ExpirationDate -$2Day).days
$EmailBody = $BodyTxt1, $user.name, $BodyTxt2, $lastdays, $BodyTxt3 -join ' '
Send-MailMessage -To $user.EmailAddress -From $Sender -SmtpServer $smtpserver -Subject $Subject -Body $EmailBody
}
}

У командлета Send-MailMessage есть параметр -Attachment. Он позволяет прикреплять к письму файл с инструкцией о том, как пользователь может выполнить смену пароля в вашей сети.

Скрипт проверяет всех активных пользователей домена с истекающими паролями. За 7 дней до истечения пароля пользователю начинают отправляться письма на email адрес, указанный в AD (атрибут должен быть заполнен). Письма отправляются до тех пор, пока пароль не будет изменен или просрочен.

Данный PowerShell скрипт нужно запускать регулярно на любом компьютере/сервере домена (проще всего через Task Scheduler). Естественно, нужно на вашем SMTP сервере добавить IP адрес хоста, с которого рассылаются письма, в разрешенные отправители без аутентификации.

Некоторые пользователи Windows 11 и Windows 10 при входе в систему могут столкнуться с сообщением «Пароль просрочен и должен быть заменен», а за несколько дней до этого — с уведомлением «Рекомендуется изменить ваш пароль» в области уведомлений. В некоторых случаях возможно появление сообщения «Пароль пользователя необходимо изменить перед входом в систему».

Если вам не хочется каждый раз менять пароль, а речь идёт о вашем личном компьютере, вы можете убрать ограничение на его срок действия. В этой инструкции подробно о способах отключить срок действия пароля в Windows 11 и Windows 10 и дополнительная информация, которая может оказаться полезной.

Изменение просроченного пароля

Сообщение Пароль просрочен и должен быть заменен при входе в Windows

При отсутствии других учетных записей, прежде чем выполнять какие-либо действия по отмене срока действия паролей, вам придётся его изменить. Необходимо выполнить следующие простые и очевидные шаги:

  1. Нажмите клавишу «Ок» в окне «Пароль просрочен и должен быть заменен».
  2. Введите новый пароль и его подтверждение.
    Смена просроченного пароля Windows

  3. Войдите в систему с новым паролем, нажав по значку с изображением «стрелки» справа в поле подтверждения пароля.

Теперь можно приступать к отключению срока действия пароля, чтобы в дальнейшем его изменение не потребовалось. Учитывайте: все действия требуют прав администратора и, если обязательная смена пароля требуется на компьютере организации, а не личном ПК или ноутбуке, у вас может не быть возможности что-то сделать, не привлекая системного администратора.

Отключение срока действия пароля в командной строке

Возможно, самый простой и быстрый метод отключения срока действия пароля для всех учетных записей — использование командной строки:

  1. Запустите командную строку от имени администратора (как это сделать).
  2. Введите команду net accounts и нажмите Enter. В результате вы сможете увидеть текущий максимальный срок действия пароля в днях. Если он отличается от 0, это говорит об установленных ограничениях, которые можно отменить следующей командой.
  3. Введите команду
    net accounts /maxpwage:unlimited

    и нажмите Enter.

    Отмена ограничения срока действия пароля в командной строке

  4. Если команда была выполнена успешно, максимальный срок действия пароля будет установлен на 0, а сообщения о просроченном пароле в будущем не должны появиться.

Отключение срока действия пароля для учётной записи

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

  1. Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите lusrmgr.msc и нажмите Enter.
  2. В открывшемся окне «Локальные пользователи и группы» откройте раздел «Пользователи», нажмите правой кнопкой мыши по вашему имени пользователя, откройте пункт «Свойства».
    Открыть свойства пользователя в Локальные пользователи и группы

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

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

Локальная политики безопасности

Ещё один метод отменить ограничения срока действия пароля — использовать политики безопасности, для этого:

  1. Нажмите клавиши Win+R на клавиатуре, введите secpol.msc и нажмите Enter.
  2. Перейдите к разделу «Политики учетных записей» — «Политика паролей».
  3. Дважды нажмите по параметру «Максимальный срок действия пароля».
    Политики паролей Windows

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

  5. Примените сделанные настройки.

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

Пара дополнительных нюансов, которые могут оказаться полезными в контексте рассматриваемой темы:

  • Для учетных записей Майкрософт ограничение срока действия пароля задается на сайте https://account.microsoft.com/ в разделе «Безопасность» — «Смена пароля». Если вы хотите отключить обязательную смену пароля каждые 72 дня, зайдите в этот раздел и снимите соответствующую отметку.
    Отмена срока действия пароля для учетной записи Майкрософт

  • Если вы не имеете возможности отключить ограничение срока действия пароля (например, из-за отсутствия прав администратора на компьютере), по крайней мере, вы имеете возможность отключить уведомления о необходимости скорой его смены, нажав по трем точкам в всплывающем уведомлении и выбрав пункт «Отключить все уведомления Напоминание входа в Windows».

В операционных системах Windows Server 2012R2 и выше по-умолчанию активирован механизм аутентификации на уровне сети (NLA). Это приводит к тому, что пользователи с истекшим сроком действия пароля не могут подключится к серверу по RDP.

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

Для решения этой проблемы отлично подходит функционал удаленной смены пароля, который присутствует на сервере с ролью RD Web Access.

Функция отключена по-умолчанию. Рассмотрим как ее включить и использовать:

  1. Открываем консоль управления Web-сервером, заходим в настройку дефолтной страницы RDWeb и выбираем раздел “параметры приложения”.
  2. Находим параметр PasswordChangeEnabled и меняем значение на true.
  3. Перезапускаем консоль командой:
  1. Проверяем работу механизма. Открываем ссылку https://[имя_вашего_сервера]/RDWeb/Pages/en-US/password.aspx, получаем окно для ввода данных:

Окно смены пароля

Рисунок 1 – Окно смены пароля

Готово.

Для решения ИТ-задач вашей компании, мы можем предложить ИТ-аутсорсинг.

Содержание

  1. Смена истекшего пароля через Remote Desktop Web Access в Windows Server 2016 / 2012 R2
  2. Изменение пароля учетной записи Windows Server 2016 с Active Directory
  3. Смена пароля AD
  4. Срок истечения пароля AD
  5. Настройка политики паролей пользователей в Active Directory
  6. Политика паролей в Default Domain Policy
  7. Основные настройки политики паролей
  8. Просмотр текущей парольной политики в домене
  9. Несколько парольных политик в домене Active Directory
  10. Инструменты пользователя
  11. Инструменты сайта
  12. Боковая панель
  13. Навигация
  14. Линкшэринг
  15. ALARM!
  16. Добавить новую страницу
  17. Реклама
  18. Содержание
  19. Парольные политики Windows
  20. Политика паролей
  21. Политика блокировки учетных записей (Account Lockout Policy)
  22. Просмотр политик через cmd/powershell
  23. Catch-22 / Уловка-22
  24. Когда истекает пароль пользователя в AD, оповещаем пользователей о необходимости сменить пароль
  25. Как узнать срок действия пароля пользователя в Active Directory?
  26. Отключить срок действия пароля для учетной записи
  27. Политика оповещения об окончании срока действия пароля
  28. PowerShell скрипт для email-уведомления об истечении срока действия пароля

Смена истекшего пароля через Remote Desktop Web Access в Windows Server 2016 / 2012 R2

В этой статье мы покажем, как удаленные пользователи самостоятельно могут менять свои истекшие пароли через RDP-подключение к ферме терминальных серверов Remote Desktop Services (RDS) на Windows Server 2016 / 2012 R2.

В Windows Server 2012 R2 and Windows 8.1 по умолчанию включен механизм аутентификации NLA (Network Level Authentication, подробнее о нем здесь), который не позволяет подключиться по RDP пользователям с истекшим сроком действия пароля (вы, конечно, можете отключить NLA — ссылка1, ссылка2, но это не хорошо с точки зрения безопасности). При попытке подключится к серверу RDSH (Remote Desktop Session Host) с учетной записью пользователя, пароль которого истек, появляется такое сообщение об ошибке:

В Windows Server 2012 /R2 и выше у удаленных пользователей появилась возможность самостоятельно сбрасывать свой пароль (текущий пароль или пароль с истекшим сроком действия) через специальную веб-страницу на сервере RD Web Access. Процесс смены пароля выглядит так: пользователь заходит под своей учетной записью на веб-страницу регистрации на сервере с ролью RD Web Access и с помощью специальной aspx формы меняет свой пароль.

Функционал удаленной смены пароля доступен на сервере с ролью Remote Desktop Web Access (RD Web Access), но по-умолчанию эта функция отключена. Для смены пароля используется сценарий в файле password.aspx, который находится в каталоге C:\Windows\Web\RDWeb\Pages\en-US.

Чтобы включить функцию смены пароля, нужно на сервере с настроенной ролью Remote Desktop Web Access открыть консоль управления веб-сервером IIS (IIS Manager), перейти в раздел [Server Name] –> Sites –> Default Web Site –> RDWeb –> Pages и открыть раздел с настройками приложения (Application Settings).

В правой панели найдите параметр с именем PasswordChangeEnabled и измените его значение на true.

Перезапустите IIS из консоли или с помощью команды IISRESET.

Чтобы проверить доступность страницы смены, перейдите на веб-адрес:

После успешной смены пароля пользователя должно появится сообщение:

Your password has been successfully changed.

Нажмите ОК, и пользователь будет перенаправлена на страницу входа RD Web.

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

Теперь при попытке подключиться к веб серверу RD Web Access с истекшим паролем пользователь будет перенаправлен на веб-страницу password.aspx, на которой ему будет предложено сменить пароль.

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

Добавим ссылку на файл password.aspx на страницу входа в систему (создайте копию файла password.aspx перед редактированием).

Источник

Изменение пароля учетной записи Windows Server 2016 с Active Directory

Смена пароля AD

Это руководство описывает процедуру изменения пароля для сервера со службой домена Active Directory

В новом окне, откройте раздел c именем Вашего домена, на скриншоте это «neo.adminad.ru» и нажмите на папку «Users»
Слева появится список пользователей, выберите одного из пользователей по имени и правой кнопкой мыши откройте пункт «Смена пароля. «

В окне смена пароля,

Если все данные ввели правильно то появится окно об удачной смене пароля

Срок истечения пароля AD

Теперь мы рассмотрим процедуру изменения срока пароля для сервера со службой домена Active Directory

Далее откроется окно «Управление групповой политикой», в блоке слева откройте дерево
«Лес: Имя Вашего домена»
-> «Домены»
-> «Имя Вашего домена»
-> «Default Domain Policy»

затем в блоке справа выберите вкладку «Параметры».

В списке «Политика учетных записей / Политика паролей» нажмите правой кнопкой мыши на «Максимальный срок действия пароля 42 дня» и в контекстном меню выберите «Изменить»

Перед Вами откроется «Редактор управления групповыми политиками»

В блоке справа откройте «Максимальный срок действия пароля 42 дня»

Источник

Настройка политики паролей пользователей в Active Directory

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

Политика паролей в Default Domain Policy

По-умолчанию в домене AD настройка общих требований к паролям пользователей осуществляется с помощью групповых политик. Политика паролей учетных записей домена настраивается в политике Default Domain Policy. Эта политика прилинкована к корню домена и обязательно должна применяться к контролеру домена с FSMO ролью PDC эмулятор.

Вы можете изменить настройки политики паролей из консоли управления GPO или с помощью PowerShell командлета Set-ADDefaultDomainPasswordPolicy:

Основные настройки политики паролей

Рассмотрим все доступные для настройки параметры управления паролями пользователями. Всего есть шесть параметров политики паролей:

Если пользователь пытается сменить пароль, которые не соответствует политике паролей в домене, у него появится ошибка:

Кроме того, нужно отдельно выделить настройки в разделе GPO: Политика блокировки учетной записи (Account Lockout Password):

Настройки парольных политик домена Active Directory по-умолчанию перечислены в таблице:

Политика Значение по-умолчанию
Enforce password history 24 пароля
Maximum password age 42 дня
Minimum password age 1 день
Minimum password length 7
Password must meet complexity requirements Включено
Store passwords using reversible encryption Отключено
Account lockout duration Не определено
Account lockout threshold 0
Reset account lockout counter after Не определено

В Security Compliance Toolkit Microsoft рекомендует использовать следующие настройки парольных политик:

Просмотр текущей парольной политики в домене

Вы можете посмотреть текущие настройки политики паролей в Default Domain Policy в консоли gpmc.msc (вкладка Settings).

Также можно вывести информацию о политике паролей с помощью PowerShell (на компьютере должен быть установлен модуль AD PowerShell):

Или можно проверить текущие настройки политики паролей AD на любом компьютере домена с помощью стандартной утилиты gpresult.

Несколько парольных политик в домене Active Directory

За управление доменной парольной политики отвечает контроллер домена, владелец FSMO роли PDC Emulator. Политика применяется к компьютерам домена, а не пользователям. Для редактирования настроек Default Domain Policy необходимы права администратора домена.

В домене может быть только одна политика паролей, которая применяется на корень домена и действует на всех пользователей без исключения (есть, конечно, нюансы, но о них ниже). Даже если вы создадите новую GPO с другими парольными настройками и примените ее к OU с параметрами Enforced и Block Inheritance, она не будет применяться к пользователям.

До версии Active Directory в Windows Server 2008 можно было настраивать только одну политику паролей для домена. В новых версиях AD вы можете создать отдельные политики паролей для различных групп пользователей с помощью гранулированных политик паролей Fine-Grained Password Policies (FGPP). Гранулированные политики паролей позволяют создавать и применять разные объекты параметров паролей (Password Settings Object — PSO). Например, вы можете создать PSO повышенной длиной или сложностью пароля для учетных записей доменных администраторов (см. статью о защите административных учетных записей в AD), или наоборот упростить (отключить) пароль для каких-то учетных записей.

Источник

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта

Боковая панель

Навигация

Линкшэринг

socialite Display:icon facebook twitter

ALARM!

Добавить новую страницу

Реклама

Содержание

Парольные политики Windows

Windows Server 2016 Std Edition. Сервер без AD/домена. Парольные политики настраиваются штатными средствами ОС через групповые политики.

Политика паролей

Windows + R → gpedit.msc Enter

Включена / Отключена Включено Store passwords using reversible encryption
Хранить пароли, используя обратимое шифрование Параметр определяет, используется ли операционной системой для хранения паролей обратимое шифрование. Включена/ Отключена Отключено

Политика блокировки учетных записей (Account Lockout Policy)

Политика Краткое пояснение Возможные значения Значение по-умолчанию
Account lockout duration
Время до сброса счетчика блокировки.
Параметр определяет количество минут, которые должны пройти после неудачной попытки входа в систему до того, как счетчик неудачных попыток входа будет сброшен до 0 0-99999 Не определено
Account lockout threshold
Пороговое значение блокировки.
Параметр определяет количество неудачных попыток входа в систему, приводящее к блокировке учетной записи пользователя. 0-999 0
Reset account lockout counter after
Продолжительность блокировки учетной записи.
Параметр определяет количество минут, в течение которых учетная запись остается заблокированной до ее автоматической разблокировки. 0-99999 Не определено

Для немедленного применения изменений необходимо выполнить в cmd

Просмотр политик через cmd/powershell

Текущие парольные политики

Информация о пользователе

Catch-22 / Уловка-22

Проблема: невозможно установить через RDP новый пароль если у пользователя установлено User must change password at next logon.

Уловка-22 (англ. Catch-22) — ситуация, возникающая в результате логического парадокса между взаимоисключающими правилами и процедурами.

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

In the protocol specification for CredSSP, there is no reference to the ability to change the user’s password while NLA is running. Therefore, the observed behavior can be considered «by design.»

Лучшее разъяснение по данному вопросу.

После долгих поисков в сети

я понял, что единственное простое решение это отключить NLA на стороне сервера

Безопасно ли это? Наш Approved Scanning Vendor считает, что риск перехвата сессии или риск удаленного выполнения вредоносного кода минимален ЕСЛИ передача аутентификационных данных осуществляется по защищенному каналу связи (например OpenVPN).

Источник

В этой статье мы покажем, как с помощью PowerShell узнать, когда истекает пароль учетной записи пользователя в Active Directory, установить бессрочный пароль для учетной записи (PasswordNeverExpires = True) и заблаговременно оповестить пользователей о необходимости сменить пароль.

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

Текущие настройки политики срока действия паролей в домене можно получить с помощью команды PowerShell

В нашем примере максимальный срок действия пароля пользователя в домене – 60 дней.

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

Можно узнать срок действия пароля и дату его последней смены из командной строки с помощь команды Net user:

net user aaivanov /domain

Необходимые данные присутствуют в значениях:

Для получения параметров учетных записей в AD мы будем использовать специальный модуль PowerShell для Active Directory, который позволяет получить значения различных атрибутов объектов AD (см. как установить и импортировать модуль AD PowerShell в Windows 10 и Windows Server 2012 R2/2016).

С помощью командлета Get-AdUser можно получить время последней смены пароля пользователя и проверить, установлена ли опция бессрочного пароля (PasswordNeverExpires):

Но как вы видите, в оснастке указана только время смены пароля. Когда истекает срок действия пароля — непонятно.

Чтобы получить не время последней смены пароля, а дату окончания его срока действия, нужно использовать специальный constructed-атрибут msDS-UserPasswordExpiryTimeComputed. Значение атрибута msDS-UserPasswordExpiryTimeComputed автоматически вычисляется на основании времени последней смены пароля и парольной политики домена

Параметр UserPasswordExpiryTimeComputed возвращает время в формате TimeStamp и для преобразования его в человеко-понятный вид я использую функцию FromFileTime:

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

Чтобы получить срок действия паролей для всех пользователей их определенного контейнера (OU) AD, можно воспользоваться таким скриптом PowerShell:

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

Можно вывести только список пользователей, чей пароль уже истек:

Отключить срок действия пароля для учетной записи

Если вам нужно сделать срок действия пароля определенной учетной записи неограниченным, нужно включить опцию Password Never Expires в свойствах пользователя в AD (это одно из битовых значений атрибута UserAccountControl).

Либо вы можете включить эту опцию через PowerShell:

Можно установить флаг Password Never Expires сразу для нескольких пользователей, список которых содержится в текстовом файле:

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

Политика оповещения об окончании срока действия пароля

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

По умолчанию эту политика включена на уровне локальных настроек Windows и уведомления начинают появляться за 5 дней до истечения срока действия пароля. Вы можете изменить количество дней, в течении которых должно появляться уведомление о смене пароля.

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

Также вы можете использовать простой PowerShel скрипт, который автоматически вызывает диалоговое окно со предложением сменить пароль, если он истекает менее чем через 5 дней:

Если пользователь нажимает ДА, появляется диалоговое окно Windows Security, которое вы видите при нажатии Ctrl+Alt+Del или Ctrl+Alt+End (при RDP подключении).

Данный скрипт нужно поместить в автозагрузку или запускать как logon скрипт групповых политик.

PowerShell скрипт для email-уведомления об истечении срока действия пароля

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

Скрипт проверяет всех активных пользователей домена с истекающими паролями. За 7 дней до истечения пароля пользователю начинают отправляться письма на email адрес, указанный в AD. Письма отправляются до тех пор, пока пароль не будет изменен или просрочен.

Данный PowerShell скрипт нужно запускать регулярно на любом компьютере/сервере домена (проще всего через Task Scheduler). Естественно, нужно на вашем SMTP сервере добавить IP адрес хоста, с которого рассылаются письма, в разрешенные отправители без аутентификации.

Источник

События 2020 года привели к тому, что всё большее количество людей работает удалённо. Иногда возникает ситауция, что пользователю необходимо сменить пароль для доменной учётной записи, но доступ есть только к rdp сессии, а срок действия пароля учётной записи заканчивается. При этом не всегда ответственные за настройку работы терминала забывают предоставить пользователю лёгкий способ сменить пароль в терминале RDP-сессии:

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

1-й способ — Экранная клавиатурв

Проще всего задействовать сочетание клавиш Ctrl+Alt+Del, но увы не встречал ещё что бы присланный файл *.rdp был корректно настроен, но об этом позже. Позльзователь терминальной сессии развёрнытый на полный экран, сочетание клавиш Ctrl+Alt+Del увы открывает меню экрана безопасности локального компьютера. Если сочетание клавиш нажать только на экранной клавиатуре появиться сообщение:

Открываем приложение «Экранная клавиатура», на физической клавиатуре нажимаем и ужерживаем клавиши Ctrl+Alt (на экранной клавиатуре должны подсветиться данные клавиши), наводим курсор мышки на клавишу «Del» экранной клавиатуры и нажимаем её. Откроется экран безопасности терминальной сесии, выбираем пункт сменить пароль.

2-ой способ — используя «горячие клавиши»

Как писал ранее, простое нажатие Ctrl+Alt+Del  приведёт к открытию меню безопасности локального компьютера в большенстве случаев.

Для корректной работы «горячих клавиш» в RDP-сессии должно быть явно разрешено перенаправление сочетания клавиш в свойствах RDP-клиента. Во встроенном клиенте Windows mstsc.exe, данную опцию необходимо включить на закладке управления локальными ресурсам. Локальные ресурсы -> Клавиатура -> Использование сочетаний клавиш -> установить значерие «на удалённом компьютере.

3-й способ — VBS скрипт или Powershell

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

Создаём VBS скрипт, с произвольным именем WS.vbs со следующим содержимым:

Set objShell = CreateObject("Shell.Application")
objShell.WindowsSecurity

Выполняем запуск данного скрипта, можно создать ярлык для запуска данного скрипта. При запуске у пользователя быдет открываться экран безопасности windows с возможностью изменения пароля.

Если предпочитаете Powershell, то файл скрипта на powershell будет иметь вид:

$ShellObject = New-Object -ComObject Shell.Application
$ShellObject.WindowsSecurity()

4-й способ — Оболочка Windows explorer

Для этого способа необходимо создать ярлык

Если говорить о создании ярлыка запуска экрана Безопасности Windows, то имеется ещё один вариант создания такого ярлыка. Создаётся ярлык со ссылкой на расширение оболочки Windows Explorer следующего вида:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Опять же, при запуске такого ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля. Этот способ одинаково хорошо работает на Windows 10 и на Windows Server 2012 R2.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Roll up update windows 7
  • Средство просмотра изображений windows 10 как сделать по умолчанию
  • Как подключить блютуз колонку к компьютеру windows 10 через usb провод
  • Где посмотреть сколько гб видеокарта на windows 10
  • Windows xp ahci torrent