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

Как установить срок действия пароля Windows 10

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

В этой инструкции подробно о том, как установить срок действия пароля для учетной записи Майкрософт и автономной учетной записи Windows 10 несколькими способами. Также может быть интересным: Как ограничить количество попыток ввода пароля, Как всё запретить и заблокировать в Windows 10.

Как настроить срок действия пароля для локальной учетной записи Windows 10

Установка срока действия пароля локальной учетной записи Windows 10 состоит из двух этапов. На первом требуется отключить неограниченный срок действия:

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

Готово. Теперь срок действия пароля существует и по умолчанию он равен 42 дням, однако вы можете изменить этот период. Если на вашем компьютере установлена Windows 10 Pro или Enterprise, можно использовать редактор локальной групповой политики:

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

В Windows 10 Домашняя (как и в других редакциях ОС) для установки конкретного срока действия можно использовать PowerShell:

  1. Запустите Windows PowerShell от имени Администратора (это можно сделать нажав правой кнопкой мыши по кнопке «Пуск» и выбрав соответствующий пункт контекстного меню, есть и другие способы — Как запустить Windows PowerShell).
  2. Введите команду
  3. Для того, чтобы просмотреть установленные политики паролей, включая срок действия, можно использовать команду net accounts, как на скриншоте выше.

Как ограничить срок пароля для учетной записи Майкрософт

Если вы используете учетную запись Майкрософт, вы можете включить обязательную смену пароля раз в 72 дня. Срок для такой онлайн-аккаунта не меняется. Шаги для этого будут следующими:

  1. Зайдите в параметры вашей учетной записи Майкрософт: для этого можно напрямую зайти на сайт под своей учетной записью или открыть Параметры — Учетные записи — Ваши данные — Управление учетной записью Майкрософт.
  2. На странице управления учетной записью нажмите по «Дополнительные действия», а затем — «Изменить пароль».
  3. На следующем этапе задать новый пароль и установить отметку «Менять пароль через каждые 72 дня».
Читайте также:  Сколько времени работает windows без активации

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

А вдруг и это будет интересно:

Почему бы не подписаться?

Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)

26.12.2019 в 22:49

Исправьте lusmgr.msc на lusrmgr.msc.
=
Статья будет полна если хоть пару слов сказать кому и для чего это нужно. Сколько живу мне бы даже в голову не пришло задуматься об этом и даже от большого количества пользователей с которыми работаю ни разу даже намека не слышал. Даже придумать не могу где такое может пригодится.
ИМХО

27.12.2019 в 14:38

Исправил, спасибо.
А насчет кому нужно… тут как: на мой сайт ведь через поиск приходят обычно. Соответственно, кто искал (а ищут — это точно) как ограничить срок действия пароля, найдут и, вероятно, им известно зачем.
Вообще в организациях практикуется на всё пароли регулярно менять принудительно.

29.12.2019 в 15:22

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

30.12.2019 в 13:44

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

25.08.2020 в 14:03

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

Когда истекает пароль пользователя в AD, оповещаем пользователей о необходимости сменить пароль

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

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

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

Читайте также:  Если mac os медленно работает

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

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

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

net user aaivanov /domain

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

  • Password last set — 1/21/2020 11:18:37 AM
  • Password expires — 3/21/2020 11:18:37 AM
  • Password changeable — 1/22/2020 11:18:37 AM

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

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

get-aduser aaivanov -properties PasswordLastSet, PasswordNeverExpires, PasswordExpired |ft Name, PasswordLastSet, PasswordNeverExpires,PasswordExpired

  • PasswordLastSet — время последней смены пароля пользователя;
  • PasswordNeverExpires – возвращает значение True, если пароль пользователя никогда не устаревает;
  • PasswordExpired – если пароль пользователя устарел — возвращает True, если пароль не устарел – False;

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

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

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

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

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

$Users = Get-ADUser -SearchBase ‘OU=Users,OU=SPB,DC=corp,DC=winitpro,DC=ru’ -filter -Properties msDS-UserPasswordExpiryTimeComputed, PasswordLastSet, CannotChangePassword
$Users | select Name, @>, PasswordLastSet

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

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

$Users = Get-ADUser -SearchBase ‘OU=Users,OU=SPB,DC=corp,DC=winitpro,DC=ru’ -filter -Properties msDS-UserPasswordExpiryTimeComputed, PasswordLastSet, CannotChangePassword
foreach($user in $Users)<
if( [datetime]::FromFileTime($user.»msDS-UserPasswordExpiryTimeComputed») -lt (Get-Date)) <
$user.Name
>
>

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

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

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

Get-ADUser aaivanov | Set-ADUser -PasswordNeverExpires:$True

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

$users=Get-Content «C:\PS\users_never_expire.txt»
Foreach ($user in $users) <
Set-ADUser $user -PasswordNeverExpires:$True
>

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

Читайте также:  Установка новых устройств windows

Get-ADUser -filter * -properties Name, PasswordNeverExpires | where <$_.passwordNeverExpires -eq "true" >| Select-Object DistinguishedName,Name,Enabled |ft

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

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

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

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

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

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

Add-Type -AssemblyName PresentationFramework
$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 5) <
$msgBoxInput = [System.Windows.MessageBox]::Show(«Ваш пароль истекает через «+ $timediff + » дней!`nХотите сменить пароль сейчас?»,»Внимание!»,»YesNo»,»Warning»)
switch ($msgBoxInput) <
‘Yes’ <
cmd /c «explorer shell. <2559a1f2-21d7-11d4-bdaf-00c04f60b9f0>«
>
‘No’ < >
>
>
>

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

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

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

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

$Sender = «info@winitpro.ru»
$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 -Properties msDS-UserPasswordExpiryTimeComputed, EmailAddress, Name | select Name, @>, 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
>
>

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

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

Оцените статью
Adblock
detector