Blockera Microsoft 365-användarkonton med PowerShell
Denna artikel gäller för både Microsoft 365 Enterprise och Office 365 Enterprise.
När du blockerar åtkomst till ett Microsoft 365-konto förhindrar du att någon använder kontot för att logga in och komma åt tjänsterna och data i din Microsoft 365-organisation. Du kan använda PowerShell för att blockera åtkomst till enskilda eller flera användarkonton.
Blockera åtkomst till enskilda användarkonton
Obs!
Azure Active Directory-modulen ersätts av Microsoft Graph PowerShell SDK. Du kan använda Microsoft Graph PowerShell SDK för att komma åt alla Microsoft Graph API:er. Mer information finns i Komma igång med Microsoft Graph PowerShell SDK.
Anslut först till din Microsoft 365-klientorganisation.
För att blockera och avblockera användarkonton krävs behörighetsomfånget User.ReadWrite.All eller någon av de andra behörigheterna som anges på referenssidan "Lista prenumerationskus" Graph API.
Connect-Graph -Scopes User.ReadWrite.All
Använd följande syntax för att blockera ett enskilt användarkonto:
$params = @{
accountEnabled = $false
}
Update-MgUser -UserId <sign-in name of the user account> -BodyParameter $params
Obs!
Parametern -UserId i cmdleten Update-MgUser accepterar antingen kontots inloggningsnamn, även kallat användarens huvudnamn, eller kontots objekt-ID.
Det här exemplet blockerar åtkomsten till användarkontot fabricec@litwareinc.com.
$params = @{
accountEnabled = $false
}
Update-MgUser -UserId "fabricec@litwareinc.com" -BodyParameter $params
Om du vill avblockera det här användarkontot kör du följande kommando:
$params = @{
accountEnabled = $true
}
Update-MgUser -UserId "fabricec@litwareinc.com" -BodyParameter $params
Om du vill visa användarkontots UPN baserat på användarens visningsnamn använder du följande kommandon:
$userName="<display name>"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName
Det här exemplet visar användarkontot UPN för användaren Caleb Sills.
$userName="Caleb Sills"
Write-Host (Get-MgUser -All | where {$_.DisplayName -eq $userName}).UserPrincipalName
Om du vill blockera ett konto baserat på användarens visningsnamn använder du följande kommandon:
$userName="<display name>"
$user = Get-MgUser -Filter "displayName eq '$userName'"
$params = @{
accountEnabled = $false
}
Update-MgUser -UserId $user.Id -BodyParameter $params
Om du vill kontrollera den blockerade statusen för ett användarkonto använder du följande kommando:
Get-MgUser -ObjectID <UPN of user account> -Property "displayName,accountEnabled" | Select displayName, accountEnabled
Blockera flera användarkonton
Om du vill blockera åtkomst för flera användarkonton skapar du en textfil som innehåller ett kontoinloggningsnamn på varje rad så här:
akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com
I följande kommandon är exempeltextfilen C:\My Documents\Accounts.txt. Ersätt det här filnamnet med sökvägen och filnamnet för textfilen.
Om du vill blockera åtkomsten till de konton som anges i textfilen kör du följande kommando:
$params = @{
accountEnabled = $false
}
Get-Content "C:\My Documents\Accounts.txt" | ForEach {Update-MgUser -UserId $_ -BodyParameter $params}
Om du vill avblockera de konton som visas i textfilen kör du följande kommando:
$params = @{
accountEnabled = $true
}
Get-Content "C:\My Documents\Accounts.txt" | ForEach {Update-MgUser -UserId $_ -BodyParameter $params}
Se även
Hantera Microsoft 365-användarkonton,-licenser och-grupper med PowerShell