Azure AD ユーザー アカウントを削除し、後で Microsoft Graph PowerShell SDK を使用して復元する

Azure AD ユーザー アカウントを削除し、後で Microsoft Graph PowerShell SDK を使用して復元する

サービス プリンシパルは、回復をサポートする最新の重要な Azure AD オブジェクトです。

メッセージセンターの通知MC344406(3月18日)によると、マイクロソフトは4月上旬に削除された回復機能を展開する予定です サービス プリンシパル オブジェクト.サービスプリンシパルは、 登録済みの Azure AD アプリPowerShell で Microsoft Graph API クエリを実行するために使用されるアプリなどです。彼らはまた、で使用されています Azure オートメーション アカウントMicrosoft Graph PowerShell SDK、およびマネージド ID です。いずれの場合も、サービス プリンシパルは、アプリまたはアカウントが動作するために必要なアクセス許可を保持します。すべてのテナントへの全世界展開は、5 月下旬までに完了する必要があります。

この機能が使用可能な場合、管理者が Azure AD 管理センター PowerShell を使用してサービス プリンシパルを削除するたびに (たとえば、登録済みのアプリが不要になったため)、PowerShell ( Remove-AzureADServicePrincipal)、または Microsoft Graph API を使用すると、Azure AD はサービス プリンシパルを論理的に削除された状態にします。これは、ユーザー、グループ、デバイス、およびアプリケーションオブジェクトに対して今日すでに発生しています。

削除された Azure AD オブジェクトは、 削除されたアイテム 30日間のコンテナ。保持期間が経過すると (数日後に延長されることもあります)、Azure AD はオブジェクトを完全に削除します。

保存期間中、管理者はオブジェクトを復元できるため、誰かが誤って重要なアイテムを削除した場合に簡単に復元できます。今のところ、 削除済みアイテムのリスト API はサービス プリンシパルをサポートしていませんが、ロールアウト後にサポートされます。図 1 は、削除済みアイテム コンテナー内のユーザー オブジェクトを グラフエクスプローラ.

グラフ エクスプローラーで削除された Azure AD ユーザー アカウントを表示する

Azure AD ユーザー アカウントを削除する
図 1: グラフ エクスプローラーで削除された Azure AD ユーザー アカウントを表示する

古い Azure AD コマンドレットの使用

MC344406 には、Azure AD プレビュー モジュールの 2 つのコマンドレットがあります。

いくつかの点で、Microsoft は Azure AD モジュールを 2022 年末に廃止するようにスケジュールしているため、Azure AD Graph API に基づくコマンドレットを使用するのは奇妙です。

もちろん、ライセンス管理コマンドレットとは別に、残りの Azure AD コマンドレットは廃止後も引き続き機能するため、特に Microsoft Graph PowerShell SDK の置き換えが利用できない場合は、コマンドレットを今すぐ指定しても問題ありません。

Microsoft Graph PowerShell SDK コマンドレットを Deleted Azure AD User Account で使用する

Microsoft Graph PowerShell SDK は、ナビゲートが困難な場合があります。38の独立したサブモジュールで構成されています。コマンドレットは論理的に収集されますが、ジョブを実行するための適切なコマンドレットを見つけるのは依然として困難な場合があります。ご想像のとおり、現在のバージョン (1.9.3) には、論理的に削除されたサービス プリンシパル オブジェクトを処理するコマンドレットが含まれていないようです。ここでは、サービス プリンシパルで使用できるものに関するガイドとして、ユーザー アカウントで一般的な管理操作を実行する方法を確認できます。

これを念頭に置いて、ユーザー アカウントを論理的に削除し、削除済みアイテム コンテナーにアカウントを一覧表示し、アカウントを物理的に削除 (完全に削除) する手順を次に示します。

Azure AD ユーザー アカウントを論理的に削除する

Azure AD アカウントを論理的に削除するには、 削除 – MgUser 削除するアカウントのオブジェクト識別子またはユーザー プリンシパル名を渡します。コマンドレットは確認を求めるプロンプトを表示せず、アカウントを直ちに削除します。

Remove-MgUser -UserId Sue.Ricketts@office365itpros.com

論理的に削除された Azure AD ユーザー アカウントを一覧表示する

削除済みアイテム コンテナーの 30 日間の保持期間中は、 Azure AD 管理センター または、 リストア – MgUser コマンドレット。Restore-MgUser を実行する前に、削除済みアイテム コンテナー内のオブジェクトのオブジェクト識別子を知る必要があります。このコード:

  • 使用 Get-MgDirectoryDeletedItem 削除されたユーザー アカウントの一覧を取得するコマンドレット (オブジェクト識別子を渡す代わりに、 microsoft.graph.user 用語を使用して、ユーザー アカウントの一覧が必要であることを Azure AD に指示します。Propertyパラメータを '*’にして削除されたオブジェクトのすべてのプロパティを返すことができますが、この場合、プロパティのセットを有用なものに制限することを選択しました。
  • Azure AD から返されたデータをループ処理して、使用するプロパティを抽出します。Azure AD コマンドドルのさまざまな動作ts と Microsoft Graph PowerShell SDK コマンドレットは、テナントが Azure AD コマンドレットを使用するスクリプトのアップグレードとテストを計画する必要がある理由の一例です。
  • 論理的に削除されたユーザー アカウントを一覧表示します。
$DeletedItems = Get-MgDirectoryDeletedItem -DirectoryObjectId microsoft.graph.user -Property 'Id','displayname', 'deletedDateTime', 'userType'
[int]$n = $DeletedItems.AdditionalProperties['value'].count
If ($n -eq 0) { 
   Write-Host "No deleted accounts found - exiting"; break }

$n = $n-1
[int]$i

$Report = [System.Collections.Generic.List[Object]]::new()

For ($i = 0; $i -le $n; $i++) {
    $Command = "$" + "DeletedItems.AdditionalProperties" + "['value'][$i]"
    $Item = Invoke-Expression $Command
    $DeletedDate = Get-Date($Item['deletedDateTime'])
    $ReportLine = [PSCustomObject][Ordered]@{ 
           UserId   = $Item['id']
           Name     = $Item['displayName']
           Deleted  = $DeletedDate
           "Days Since Deletion" = (New-TimeSpan $DeletedDate).Days
           Type     = $Item['userType'] }
    $Report.Add($ReportLine)
}
$Report | Sort {$_.Deleted -as [datetime]} | Format-Table UserId, Name, Deleted, "Days Since Deletion", Type -AutoSize 

UserId                               Name                      Deleted             Days Since Deletion Type
------                               ----                      -------             ------------------- ----
92cef396-1bd3-4296-b06f-786e2ee09077 The Maestro of Office 365 19/02/2022 17:36:44                  31 Guest
c6133be4-71d4-47c4-b109-e37c0c93f8d3 Oisin Johnston            26/02/2022 18:13:26                  24 Member
2e9f1189-d2d9-4301-be57-2d66f3df6bb1 Jessica Chen (Marketing)  04/03/2022 11:52:48                  18 Member
8cd64635-bce6-4af0-8e64-3bebe354e9a4 Alex Redmond              05/03/2022 17:36:45                  17 Member
0f16501c-8302-468a-99a6-78c22b0903d2 Jennifer Caroline         18/03/2022 21:33:13                   3 Member
3a6116ab-0116-490e-bd60-7e0cd9f36c9d Sue Ricketts (Operations) 20/03/2022 19:53:29                   2 Member
4a25ccf0-17df-42cf-beeb-4fd449531b47 Stephen Rice              22/03/2022 19:30:06                   0 Guest

論理的に削除された Azure AD ユーザー アカウントを削除する

論理的に削除されたディレクトリオブジェクトを削除するには、 Remove-MgDirectoryDeletedItem コマンドレットを実行し、オブジェクト識別子を渡します。という感じで 削除 – MgUserの場合、コマンドレットは確認を求めず、完全な削除がすぐに行われます。

Remove-MgDirectoryDeletedItem -DirectoryObjectId f9d30b84-ad5f-4151-98f0-a55dafe30829

移行時刻

マイクロソフトが Azure AD モジュールを廃止し、Microsoft Graph PowerShell SDK の機能 (できればドキュメント) を構築するために最善を尽くしているため、私たちは今、移行の時期にあります。その間、Azure AD コマンドレットを使用した例が表示されたら、SDK を使用するように変換してみてください。それは学ぶのに最適な方法です。


Microsoft Graph PowerShell SDK のような開発を最新の状態に保つには、 Office 365 for IT プロフェッショナル 電子ブック。毎月の更新により、サブスクライバーは Office 365 全体で発生する最も重要な変更を確実に理解できます。

未分類

Posted by admin