Отключить срок действия пароля windows server 2012

Обновлено: 07.07.2024

Ниже приведена небольшая инструкция об изменении политики паролей в Microsoft Windows Server 2012 R2. По умолчанию политика паролей определена таким образом, что все пароли учетных записей пользователей должны удовлетворять следующим требованиям:

izmenenie_politiki_paroley_v_windows_server_2012_001

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

  • «Конфигурация компьютера» (Computer Configuration)
    • «Конфигурация Windows» (Windows Settings)
      • «Параметры безопасности» (Security Settings)
        • «Политики учетных записей» (Account Policies)
          • «Политика паролей» (Password Policy)

          izmenenie_politiki_paroley_v_windows_server_2012_002

          izmenenie_politiki_paroley_v_windows_server_2012_003

          izmenenie_politiki_paroley_v_windows_server_2012_004

          В этой же ветке можно изменить Политику блокировки учетных записей (Account Lockout Policy) в случае неверного ввода паролей. Все политики редактируются аналогичным образом.

          izmenenie_politiki_paroley_v_windows_server_2012_005

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

          Смотрите также:

          Здесь будет рассказано как изменить политику паролей в Windows Server 2008. По умолчанию все пароли в Windows должны отвечать политике безопасности, а именно: Не содержать имени учетной записи пользователя…

          В данной статье я расскажу как добавить разрешающее правило в Брандмауэр Windows Server 2012 R2 (в Windows Server 2008 R2 действия аналогичны). Правило будем добавлять на примере работы сервера 1С:Предприятие…

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

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

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

          1. Выполните команду gpedit.msc: Win + R > пропишите gpedit.msc> ОК.

          Выполните команду gpedit.msc

          2. Перейдите: Конфигурация компьютера > Конфигурация Windows > Параметры безопасности > Политики учетных записей > Политика паролей > Пароль должен отвечать требованиям сложности.

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

          3. Выберите Отключен и нажмите ОК.

          Выберите Отключен и нажмите ОК

          Вот и все, требования сложности отключены.

          Полезно!

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

          Отключить требования сложности пароля для Windows Server 2012 нетрудно, но мы все же рекомендуем подходить к этому вопросу взвешенно и учитывать элементарные советы по безопасности. В противном случае, будьте готовы однажды найти свой пароль в рейтинге самых ненадежных. Ведь часто именно слабый пароль – главная лазейка для злоумышленников. Необязательно генерировать новую комбинацию каждую неделю или раз в месяц, можно и реже. Просто не используйте для этих целей свою фамилию, имя дочери или название фирмы. И не забудьте позаботиться о безопасном сервере, грамотном администрировании и своевременном бэкапе – обращайтесь к нам за консультацией 24/7.

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

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

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

          Настройка политики паролей Server:

          Что бы изменить политику паролей для пользователей находящихся в домене заходим в "Диспетчер серверо"в далее в верхнем меню жмем "Средства" и переходим в раздел "Управления групповой политикой"


          Для того что бы изменить политику паролей необходимо изменить политику по умолчанию домена (Default Domain Police) для этого нажмите ПКМ по данной политике и нажмите на пункт "Изменить"


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


          Начнем настройку с первого раздела под названием "Политика паролей" открываем его


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

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


          Следующая вкладка "Максимальный срок действия пароля" по умолчанию это 42 дня, с помощью этой политике определяется временной интервал в котором используется пароль прежде чем система вновь потребует от пользователя этот пароль поменять, убираем чекбокс и жмем "Применить"


          Плавно переходим на раздел "Минимальная длина пароля" тут я не думаю, что требуются какие-либо объяснения по умолчанию это 7 символов, я выставляю как минимум 4 символа


          Далее "Минимальный срок действия пароля" с помощью него определяется время с помощью которого пользователь не может изменить пароль по умолчанию значение ноль дней. Убираем галочку и применяем настройки

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


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


          Ну а сейчас мы рассмотрим "Политику блокировки учетной записи". В данной политике доступны 3 блока это:

          "Время до сброса счетчика блокировки" выставляете время блокировки аккаунта, в качестве примера поставим значение равное 30 мин


          "Пороговое значение блокировки" прежде чем аккаунт будет заблокирован, грубо говоря выставляете попытки ввода неверного пароля, после чего наступит блокировка аккаунта пользователя, выставим в качестве примера 3 раза


          "Продолжительность блокировки учетной записи" означает что если вы ввели скажем 2 раза неверный пароль и вы не хотите при такой настройке можете подождать 30 мин, и у вас снова будет доступно 3 попытки ввода пароля


          Теперь что бы изменить пароль у пользователя заходим в "Пользователи и компьютеры Active Directory"


          Ищем учётную запись на которой мы хотим изменить пароль, в моем примере как было описано выше созданная учетная запись "Admin" жмем по ней ПКМ и выбираем пункт "Смена пароля"


          В появившимся окне заполняем требуемые поля, в качестве примера я введу пароль из 4-х цифр, после ввода нажимаем "Ок"



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

          Осуществляем вход с новой учетной записью



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

          date

          16.04.2021

          directory

          Active Directory, PowerShell, Windows 10, Windows Server 2016

          comments

          комментариев 30

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

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

          Срок действия пароля пользователя в домене, частота его смены и требования к сложности и др. определяются настройками политикой паролей в AD. Это могут быть настройки Default Domain Policy или гранулированными политиками паролей (Fine-Grained Password Policy).

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

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

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

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

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

          net user aaivanov /domain

          net user получить срок действия пароля

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

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

          Для получения параметров учетных записей в 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

          Get-aduser PasswordLastSet - время последней смены пароля

          Можно проверить время последней смены пароля из графической оснастки Active Directory Users & Computers (dsa.msc). Для этого откройте свойства пользователя, перейдите на вкладку Редактор атрибутов, проверьте значение атрибута pwdLastSet.

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

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

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

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

          атрибут UserPasswordExpiryTimeComputed - время истечения пароля пользователя

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

          Чтобы получить срок действия паролей для всех пользователей их определенного контейнера (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).

          Password Never Expires

          Либо вы можете включить эту опцию через 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
          >

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

          Get-ADUser -filter * -properties Name, PasswordNeverExpires | where | 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 дней до истечения срока действия пароля. Вы можете изменить количество дней, в течении которых должно появляться уведомление о смене пароля.

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

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

          Consider changing your password

          Также вы можете использовать простой 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. "
          >
          'No' < >
          >
          >
          >

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

          Данный скрипт предполагает, что на компьютерах пользователей установлен модуль AD для PowerShell. Его можно использовать даже без установки RSAT . См. статью Использование модуля Active Directory PowerShell без установки RSAT.

          Данный скрипт нужно поместить в автозагрузку или запускать как 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 адрес хоста, с которого рассылаются письма, в разрешенные отправители без аутентификации.

          Читайте также: