PowerShell を使用して Microsoft 365 ユーザー アカウントを削除する

PowerShell for Microsoft 365 を使用して、ユーザー アカウントを削除および復元できます。

注:

Microsoft 365 管理センターを使用してユーザー アカウントを復元する方法について説明します。

その他のリソースの一覧については、「 ユーザーとグループの管理」を参照してください。

Microsoft Graph PowerShell を使用してユーザー アカウントを削除する

注:

Azure Active Directory (AzureAD) PowerShell モジュールは非推奨となり、Microsoft Graph PowerShell SDK に置き換えられます。 Microsoft Graph PowerShell SDK を使用して、すべての Microsoft Graph API にアクセスできます。 詳細については、「Microsoft Graph PowerShell SDK の使用を開始する」 を参照してください。

Microsoft Graph PowerShell のインストールと Microsoft Graph PowerShell へのアップグレードの方法については、「Microsoft Graph PowerShell SDK のインストール」と「 Azure AD PowerShell から Microsoft Graph PowerShell へのアップグレード」も参照してください。

無人スクリプトでさまざまな方法を使用して認証 Connect-Graph する方法については、 Microsoft Graph PowerShell の認証モジュール コマンドレットに関する記事を参照してください。

ユーザー アカウントを削除するには、User.ReadWrite.All アクセス許可スコープが必要です。このスコープは、"ライセンスの割り当て" Microsoft Graph API リファレンス ページに記載されています。

テナント内のユーザー アカウントの詳細を読み取るために、User.Read.All アクセス許可スコープが必要です。

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

# Connect to your tenant
Connect-MgGraph -Scopes User.Read.All, User.ReadWrite.All

接続した後、次の構文を使用して個々のユーザー アカウントを削除します。

$userName="<display name>"
# Get the user
$userId = (Get-MgUser -Filter "displayName eq '$userName'").Id
# Remove the user
Remove-MgUser -UserId $userId -Confirm:$false

この例では、ユーザー アカウント Caleb Sills を削除します

$userName="Caleb Sills"
$userId = (Get-MgUser -Filter "displayName eq '$userName'").Id
Remove-MgUser -UserId $userId -Confirm:$false

ユーザー アカウントを復元する

Microsoft Graph PowerShell を使用してユーザー アカウントを復元するには、まず Microsoft 365 テナントに接続します

削除されたユーザー アカウントを復元するには、アクセス許可スコープ Directory.ReadWrite.All が必要です。 このパーミション スコープを使用してテナントに接続します。

# Connect to your tenant
Connect-MgGraph -Scopes Directory.ReadWrite.All

削除されたユーザー アカウントはディレクトリ内のオブジェクト以外に存在しなくなったため、復元するユーザー アカウントを検索することはできません。 代わりに、次の PowerShell スクリプトを使用して、 ディレクトリで microsoft.graph.user 型の削除されたオブジェクトを検索します。

$DeletedUsers = Get-MgDirectoryDeletedItem -DirectoryObjectId microsoft.graph.user -Property '*'
$DeletedUsers = $DeletedUsers.AdditionalProperties['value']
foreach ($deletedUser in $DeletedUsers)
{
   $deletedUser | Format-Table
}

このスクリプトの出力は、削除されたユーザー オブジェクトがディレクトリに存在すると仮定すると、次のようになります。

Key               Value
---               -----
businessPhones    {}
displayName       Caleb Sills
givenName         Caleb
mail              CalebS@litware.com
surname           Sills
userPrincipalName cdea706c3fdc4bbd95925d92d9f71eb8CalebS@litware.com
id                cdea706c-3fdc-4bbd-9592-5d92d9f71eb8

個々のユーザー アカウントを復元するには、次の構文を使用します。

# Input user account ID
$userId = "<id>"
# Restore the user
Restore-MgDirectoryDeletedItem -DirectoryObjectId $userId

次の使用例は、上記のスクリプトの出力から の$userID値を使用してユーザー アカウントcalebs@litwareinc.comを復元します。

$userId = "cdea706c-3fdc-4bbd-9592-5d92d9f71eb8"
Restore-MgDirectoryDeletedItem -DirectoryObjectId $userId

このコマンドの出力は次のようになります。

Id                                   DeletedDateTime
--                                   ---------------
cdea706c-3fdc-4bbd-9592-5d92d9f71eb8

関連項目

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

PowerShell で Microsoft 365を管理する

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