Сброс пароля пользователя в 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_x000D_Content-Type: application/json_x000D_ {_x000D_ "currentPassword": "password1234!",_x000D_ "newPassword": "P@ssw0rd2!"_x000D_ }_x000D_
Про сброс паролей пользователей on-prem Active Directory есть отдельная статья .
EnglishRussianUkrainian