Bloccare gli account utente di Microsoft 365 con PowerShell

Questo articolo si applica sia a Microsoft 365 Enterprise che a Office 365 Enterprise.

Quando si blocca l'accesso a un account Microsoft 365, si impedisce a chiunque di usare l'account per accedere ai servizi e ai dati nell'organizzazione di Microsoft 365. È possibile usare PowerShell per bloccare l'accesso a singoli o più account utente.

Bloccare l'accesso ai singoli account utente

Nota

Il modulo Azure Active Directory viene sostituito da Microsoft Graph PowerShell SDK. È possibile usare Microsoft Graph PowerShell SDK per accedere a tutte le API di Microsoft Graph. Per altre informazioni, vedere Inizia a usare Attività iniziali con Microsoft Graph PowerShell SDK.

Prima di tutto, connettersi al tenant di Microsoft 365.

Per bloccare e sbloccare gli account utente è necessario l'ambito di autorizzazione User.ReadWrite.All o una delle altre autorizzazioni elencate nella pagina API Graph di riferimento "List subscribedSkus".

Connect-Graph -Scopes User.ReadWrite.All

Usare la sintassi seguente per bloccare un singolo account utente:

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

Nota

Il parametro -UserId nel cmdlet Update-MgUser accetta il nome di accesso dell'account, noto anche come nome dell'entità utente, o l'ID oggetto dell'account.

Questo esempio blocca l'accesso all'account fabricec@litwareinc.comutente .

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

Per sbloccare questo account utente, eseguire il comando riportato di seguito:

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

Per visualizzare l'UPN dell'account utente in base al nome visualizzato dell'utente, usare i comandi seguenti:

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

In questo esempio viene visualizzato l'UPN dell'account utente per l'utente Caleb Sills.

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

Per bloccare un account in base al nome visualizzato dell'utente, usare i comandi seguenti:

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

Per controllare lo stato bloccato di un account utente, usare il comando seguente:

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

Bloccare più account utente

Per bloccare l'accesso per più account utente, creare un file di testo contenente un nome di accesso dell'account in ogni riga come segue:

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

Nei comandi seguenti il file di testo di esempio è C:\My Documents\Accounts.txt. Sostituire questo nome file con il percorso e il nome del file di testo.

Per bloccare l'accesso agli account elencati nel file di testo, eseguire il comando seguente:

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

Per sbloccare gli account elencati nel file di testo, eseguire il comando seguente:

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

Vedere anche

Gestire gli account utente, le licenze e i gruppi di Microsoft 365 con PowerShell

Gestire Microsoft 365 con PowerShell

Guida introduttiva a PowerShell per Microsoft 365