Сброс пароля пользователя в Azure AD (M365)

Если пользователь Azure AD забыл свой пароль, администратор тенанта Azure (Microsoft 365) может сбросить его несколькими способами: через Azure Portal, PowerShell или можно включить функцию самостоятельного сброса пароля пользователями (SSRP).

Для сброса пароля пользователей вашей учётной записи должна быть назначена встроенная роль Azure: User Administrator или Password Administrator

Сбросить пароль пользователя через Azure Portal

Самый простой способ сбросить пароль пользователя в Azure – воспользоваться веб интерфейсом портала Azure (или Microsoft 365 Admin Center).

  1. Авторизуйтесь на портале https://portal.azure.com/ и перейдите в раздел Azure Active Directory -> Users;
  2. Выберите пользователя и нажмите на Reset Password; Сбросить пароль пользователя через портала Azure
  3. Появится предупреждение, что пользователю будет назначен временный пароль.
    The user '[email protected]' will be assigned a temporary password that must be changed on the next sign in. To display the temporary password, click 'Reset password'.

    Нажмите на Reset Password;

  4. Azure сгенерирует для пользователя новый временный пароль и отобразит его на экране; новый пароль пользователя сгенерирован Azure
  5. Передайте пароль пользователю и при следующем входе в любое приложение Microsoft 365 с помощью Modern Authentication, ему будет предложено сменить его. форма смены пароля пользователем azure ad
  6. По логам входов пользователя в Azure можно проверить, что пользователь успешно аутентифицировался.

Несколько важных моментов:

  • Временный пароль никогда не истекает;
  • Если у вас настроена синхронизация локальной Active Directory с Azure AD через Connector, то для сброса пароля из облака, в настройках коннектора должна быть включена синхронизация паролей Password Write-Back.

Для своего тенанта Azure вы можете включить самостоятельный сброс паролей пользователями (Self-Service Password Reset — SSPR). Вы можете включить SSRP для одной группы пользователей или для всех пользователей AAD в разделе Azure Active Directory -> Password reset -> Properties.

Включить Self-Service Password Reset для самостоятельного сброса паролей пользователями azure

Для сброса пароля пользователи могут использовать разрешенные методы подтверждения. В дополнении к стандартным MFA методам здесь добавлена возможность использования секретных вопросов и офисного телефона. Можно использовать один или два метода проверки.

настроить методы подтверждения сброса пароля пользователями Azure

[/alert]

Сброс пароля пользователя Azure Active Directory с помощью PowerShell

При сбросе пароля пользователя через портал Azure новый временный пароль генерируется автоматически. Но вы можете задать новый пароль пользователю вручную с помощью PowerShell.

Задать новый пароль вручную можно также через Microsoft 365 Admin Center.

Для сброса пароля пользователя можно использовать модуль Azure AD. Подключитесь к своему тенанту Azure:

Connect-AzureAD

Задайте новый пароль и сконвертируйте его в SecureString (см. статью про хранение паролей в скриптах PowerShell):

$newPass = ConvertTo-SecureString 'NewPassword01' -AsPlainText –Force

Для генерации случайного пароля можно использовать PowerShell:

Add-Type -AssemblyName System.Web

$genpass=[System.Web.Security.Membership]::GeneratePassword(10,2)
$newPass = ConvertTo-SecureString $genpass -AsPlainText –Force

По UPN нужно получить Object ID пользователя, которому вы хотите изменить пароль:

$userObjectId=(Get-AzureADUser -filter "userPrincipalName eq '[email protected]'").ObjectID

Примените новый пароль для пользователя Azure по ObjectID:

Set-AzureADUserPassword -ObjectId $userObjectId -Password $newPass

Set-AzureADUserPassword - PowerShell командлет для сброса пароля пользователя в Azure AD

Если вы хотите, чтобы пользователь сменил пароль при следующем входе, добавьте опцию -ForceChangePasswordNextLogin $true

С помощью модуля Azure AD не получится вывести время смены пароля пользователя. Эту информацию можно получить через Microsoft Graph API или с помощью старого модуля MSOnline.

Если на компьютере установлен PowerShell модуль MSOnline, подключитесь к тенанту:

Connect-MsolService

Выведите значение LastPasswordChangeTimeStamp:

Get-MsolUser -UserPrincipalName '[email protected]'| Select DisplayName,UserPrincipalName,LastPasswordChangeTimeStamp

получить значение LastPasswordChangeTimeStamp пользователя Azure

Если в политике паролей Azure AD включена опция истечения срока пароля, с помощью PowerShell можно узнать дату, когда пароль пользователя будет просрочен:

$user=Get-MsolUser -UserPrincipalName '[email protected]'
$User.LastPasswordChangeTimestamp.AddDays($PasswordPolicy.ValidityPeriod)

В on-premises Active Directory Domain Services дату окончания срока действия пароля пользователя домена можно получить из constructed атрибута msDS-UserPasswordExpiryTimeComputed.

Либо вы можете обратиться к Microsoft Graph API из PowerShell для получения информации о времени смены пароля пользователя и дате создания пользователя в Azure:

$ApplicationID = "xxx"
$TenatDomainName = "xxxx"

$AccessSecret = "xxx"
$Body = @{
Grant_Type    = "client_credentials"
Scope         = "https://graph.microsoft.com/.default"
client_Id     = $ApplicationID
Client_Secret = $AccessSecret
}
$ConnectGraph = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenatDomainName/oauth2/v2.0/token" -Method POST -Body $Body
$token = $ConnectGraph.access_token
$GrapUserUrl = 'https://graph.microsoft.com/v1.0/users?$select= userprincipalname,accountenabled,signInActivity,createdDateTime,lastPasswordChangeDateTime'
$users=(Invoke-RestMethod -Headers @{Authorization = "Bearer $($token)"} -Uri $GrapUserUrl -Method Get).value
$users | where userprincipalname –eq '[email protected]' | select userprincipalname,accountenabled,createdDateTime,lastPasswordChangeDateTime

microsoft graph api - узнать дату смена пароля пользователя azure ad из powershell

Через Microsoft Graph API и метод POST можно даже сбросить пароль пользователя. Используйте такой POST запрос:

POST https://graph.microsoft.com/v1.0/me/changePassword
Content-Type: application/json
 {
  "currentPassword": "password1234!",
  "newPassword": "P@ssw0rd2!"
 }
Про сброс паролей пользователей on-prem Active Directory есть отдельная статья.

Предыдущая статья Следующая статья


Комментариев: 2 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)