Блокировка учетных записей пользователей Microsoft 365 с помощью PowerShell

Эта статья относится к Microsoft 365 корпоративный и Office 365 корпоративный.

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

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

Примечание.

Модуль Azure Active Directory заменяется пакетом SDK Для Microsoft Graph PowerShell. Можно использовать пакет SDK Microsoft Graph PowerShell для доступа ко всем API Microsoft Graph. Дополнительные сведения см. разделе Начало работы с пакетом SDK Microsoft Graph PowerShell.

Сначала подключитесь к клиенту Microsoft 365.

Для блокировки и разблокировки учетных записей пользователей требуется разрешение User.ReadWrite.All область или одно из других разрешений, перечисленных на странице справочника API Graph "List subscribedSkus".

Connect-Graph -Scopes User.ReadWrite.All

Чтобы заблокировать отдельную учетную запись пользователя, используйте следующий синтаксис:

$params = @{
	accountEnabled = $false
}
Update-MgUser -UserId <sign-in name of the user account> -BodyParameter $params

Примечание.

Параметр -UserId в командлете Update-MgUser принимает имя для входа в учетную запись, также известное как имя участника-пользователя, или идентификатор объекта учетной записи.

В этом примере блокируется доступ к учетной записи fabricec@litwareinc.comпользователя .

$params = @{
	accountEnabled = $false
}
Update-MgUser -UserId "fabricec@litwareinc.com" -BodyParameter $params

Чтобы разблокировать эту учетную запись пользователя, выполните следующую команду:

$params = @{
	accountEnabled = $true
}
Update-MgUser -UserId "fabricec@litwareinc.com" -BodyParameter $params

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

$userName="<display name>"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName

В этом примере отображается имя участника-пользователя учетной записи пользователя Caleb Sills.

$userName="Caleb Sills"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName

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

$userName="<display name>"
$user = Get-MgUser -Filter "displayName eq '$userName'"
$params = @{
	accountEnabled = $false
}
Update-MgUser -UserId $user.Id -BodyParameter $params

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

Get-MgUser -ObjectID <UPN of user account> -Property "displayName,accountEnabled" | Select displayName, accountEnabled

Блокировка нескольких учетных записей пользователей

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

akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com

В следующих командах примером текстового файла является C:\My Documents\Accounts.txt. Замените это имя файла путем и именем текстового файла.

Чтобы заблокировать доступ к учетным записям, перечисленным в текстовом файле, выполните следующую команду:

$params = @{
	accountEnabled = $false
}
Get-Content "C:\My Documents\Accounts.txt" | ForEach {Update-MgUser -UserId $_ -BodyParameter $params}

Чтобы разблокировать учетные записи, перечисленные в текстовом файле, выполните следующую команду:

$params = @{
	accountEnabled = $true
}
Get-Content "C:\My Documents\Accounts.txt" | ForEach {Update-MgUser -UserId $_ -BodyParameter $params}

См. также

Управление учетными записями пользователей Microsoft 365, лицензиями и группами с помощью PowerShell

Управление Microsoft 365 с помощью PowerShell

Начало работы с PowerShell для Microsoft 365