PowerShell で Microsoft 365 ユーザー アカウントをブロックする

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

Microsoft 365 アカウントへのアクセスをブロックすると、Microsoft 365 組織のサービスとデータへのサインインとアクセスにアカウントを使用できなくなります。 PowerShell を使用して、個々のユーザー アカウントまたは複数のユーザー アカウントへのアクセスをブロックできます。

Graph 用 Azure Active Directory PowerShell モジュールを使用する

まず、Microsoft 365 テナントに接続します

個々のユーザー アカウントへのアクセスをブロックする

次の構文を使用して、個々のユーザー アカウントをブロックします。

Set-AzureADUser -ObjectID <sign-in name of the user account> -AccountEnabled $false

注:

Set-AzureAD コマンドレットの -ObjectID パラメーターは、アカウント のサインイン名 (ユーザー プリンシパル名とも呼ばれます) またはアカウントのオブジェクト ID を受け入れます。

次の使用例は、ユーザー アカウントへのアクセスをブロックします fabricec@litwareinc.com

Set-AzureADUser -ObjectID fabricec@litwareinc.com -AccountEnabled $false

このユーザー アカウントのブロックを解除するには、以下のコマンドを実行します。

Set-AzureADUser -ObjectID fabricec@litwareinc.com -AccountEnabled $true

ユーザーの表示名に基づいてユーザー アカウント UPN を表示するには、次のコマンドを使用します。

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

この例では、ユーザー Caleb Sills のユーザー アカウント UPN を表示します。

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

ユーザーの表示名に基づいてアカウントをブロックするには、次のコマンドを使用します。

$userName="<display name>"
Set-AzureADUser -ObjectID (Get-AzureADUser | where {$_.DisplayName -eq $userName}).UserPrincipalName -AccountEnabled $false

ユーザー アカウントのブロック状態を確認するには、次のコマンドを使用します。

Get-AzureADUser  -ObjectID <UPN of user account> | Select DisplayName,AccountEnabled

複数のユーザー アカウントをブロックする

複数のユーザー アカウントのアクセスをブロックするには、次のように各行に 1 つのアカウント サインイン名を含むテキスト ファイルを作成します。

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

次のコマンドでは、テキスト ファイルの例は C:\My Documents\Accounts.txtです。 このファイル名は、テキスト ファイルのパスとファイル名に置き換えます。

テキスト ファイルに記載されているアカウントへのアクセスをブロックするには、次のコマンドを実行します。

Get-Content "C:\My Documents\Accounts.txt" | ForEach {Set-AzureADUser -ObjectID $_ -AccountEnabled $false}

テキスト ファイルに一覧表示されているアカウントのブロックを解除するには、次のコマンドを実行します。

Get-Content "C:\My Documents\Accounts.txt" | ForEach {Set-AzureADUser -ObjectID $_ -AccountEnabled $true}

Windows PowerShell 用 Microsoft Azure Active Directory モジュールを使用する

まず、Microsoft 365 テナントに接続します

個々のユーザー アカウントをブロックする

次の構文を使用して、個々のユーザー アカウントのアクセスをブロックします。

Set-MsolUser -UserPrincipalName <sign-in name of user account>  -BlockCredential $true

注:

PowerShell Core では、名前に Msol が含まれるWindows PowerShell モジュールとコマンドレットのMicrosoft Azure Active Directory モジュールはサポートされていません。 これらのコマンドレットは、Windows PowerShellから実行する必要があります。

次の使用例は、ユーザー アカウントへのアクセスをブロックします fabricec@litwareinc.com

Set-MsolUser -UserPrincipalName fabricec@litwareinc.com -BlockCredential $true

ユーザー アカウントのブロックを解除するには、次のコマンドを実行します。

Set-MsolUser -UserPrincipalName <sign-in name of user account>  -BlockCredential $false

ユーザー アカウントのブロック状態を確認するには、次のコマンドを実行します。

Get-MsolUser -UserPrincipalName <sign-in name of user account> | Select DisplayName,BlockCredential

複数のユーザー アカウントのアクセスをブロックする

まず、次のように各行に 1 つのアカウントを含むテキスト ファイルを作成します。

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

次のコマンドでは、テキスト ファイルの例は C:\My Documents\Accounts.txtです。 このファイル名は、テキスト ファイルのパスとファイル名に置き換えます。

テキスト ファイルに一覧表示されているアカウントのアクセスをブロックするには、次のコマンドを実行します。

Get-Content "C:\My Documents\Accounts.txt" | ForEach { Set-MsolUser -UserPrincipalName $_ -BlockCredential $true }

テキスト ファイルに記載されているアカウントへのアクセスのブロックを解除するには、次のコマンドを実行します。

Get-Content "C:\My Documents\Accounts.txt" | ForEach { Set-MsolUser -UserPrincipalName $_ -BlockCredential $false }

関連項目

Microsoft 365 ユーザー アカウント、ライセンス、PowerShell を使用したグループを管理する

PowerShell で Microsoft 365を管理する

Microsoft 365 用 PowerShell の使用を開始する