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

Опубликовано: 13 Марта, 2023
Как принудительно сбросить пароль для всей организации

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

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

1. Получение списка пользователей Active Directory

Первым шагом в использовании PowerShell для принудительного сброса пароля в масштабе всей организации является получение списка всех пользователей в организации. Самый простой способ сделать это — использовать командлет Get-ADUser.

К сожалению, ввод Get-ADUser сам по себе не заставит PowerShell вернуть список пользователей. Командлет требует, чтобы вы добавили фильтр. Если вы действительно хотите, чтобы результаты включали всех пользователей, проще всего отфильтровать их по имени пользователя. Затем используйте звездочку для обозначения значения подстановочного знака (чтобы PowerShell возвращал все имена). Для этого выполните следующие 4 шага:

  1. Войдите в систему, используя учетную запись с правами администратора домена.
  2. Откройте сеанс PowerShell с повышенными правами.
  3. Убедитесь, что модуль PowerShell ActiveDirectory установлен, если вы не работаете с контроллером домена. Вы можете проверить состояние модуля с помощью командлета Get-Module. При необходимости вы можете установить необходимый модуль с помощью командлета Install-Module.
Изображение 4026
  1. Введите следующую команду:
Get-ADUser -Filter «Имя - Like '*'»
Изображение 1380

Несколько слов о фильтрации

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

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

2. Исключение учетной записи

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

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

Get-ADUser -Filter «Имя -NE «Администратор»»
Изображение 1374

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

3. Принудительный сброс пароля

После того, как вы составили список учетных записей пользователей, принудительно сбросить пароль несложно. Просто используйте командлет Set-ADUser. Затем установите для атрибута ChangePasswordAtLogon значение $True для выбранных учетных записей.

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

$Users = Get-ADUser -Filter "Имя -Like 'Пользователь*'"

$Пользователи | Set-ADUser -ChangePasswordAtLogon $True

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

Что пошло не так

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

$Users = Get-ADUser -Filter "Имя -Like 'Пользователь*'"

$Пользователи | Set-ADUser -ChangePasswordAtLogon: $True -CannotChangePassword:$False -PasswordNeverExpires:$False

Вы можете увидеть всю последовательность команд на рисунке ниже. Обратите внимание, что вам не нужна вторая строка кода. Я включил его только для того, чтобы вы могли увидеть список учетных записей пользователей, для которых я принудительно сбрасываю пароль. Сначала я пытался принудительно сменить пароль только при входе в систему. Тем не менее, это не удалось, поскольку одна или несколько учетных записей были настроены с бессрочными паролями. Чтобы решить эту проблему, я установил для PasswordNeverExpires и CannotChangePassword значение $False.

Изображение 4029

Последние мысли

Сброс пароля для всей организации не следует воспринимать легкомысленно. Вы также не должны делать это легкомысленно. Тем не менее, это может быть необходимо в случае нарушения безопасности или предполагаемого нарушения. Если у вас нет доступа к сторонним инструментам для сброса пароля, лучше всего использовать командлеты PowerShell Get-ADUser и Set-ADUser.

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

У вас есть вопросы о сбросе пароля AD? Ознакомьтесь с разделами часто задаваемых вопросов и ресурсов ниже!

Часто задаваемые вопросы

Когда я должен принудительно сбросить пароль для всей организации?

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

Должен ли я исключать учетные записи из сброса пароля в масштабах всей организации?

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

Какие типы изменений может потребоваться внести организации в сценарий сброса пароля?

Помимо потенциального исключения определенных учетных записей, самое большое изменение, которое может потребоваться, — это добавить поддержку дополнительных доменов или доверенных лесов. Для этого запустите скрипт PowerShell. Затем примените изменения глобально, предполагая, что вы имеете дело с одним доменным лесом. Для нескольких доменов вам потребуется запустить несколько сценариев.

Каковы последствия использования PowerShell для сброса пароля в средах единого входа?

Вы можете реализовать SSO разными способами. Если Active Directory выступает в качестве основного поставщика удостоверений, вам сначала необходимо составить список пользователей. Затем исключите учетные записи, которые должны быть исключены из графического интерфейса. В противном случае ваш скрипт может нарушить работу системы единого входа.

Могу ли я принудительно сбросить пароль вручную без PowerShell?

Да. Вы можете щелкнуть правой кнопкой мыши учетную запись пользователя в консоли Active Directory Users and Computers. Затем выберите команду «Сбросить пароль» в контекстном меню. К сожалению, эта консоль не поддерживает массовый сброс пароля, поэтому вам придется делать это для одной учетной записи за раз. Для крупных предприятий изучите PowerShell. Это также полезно для других глобальных задач управления.