背景
AzureのEntraIDの機能の中で、登録していたカスタムドメインを削除するにあたって、削除前に対象のドメインを参照しているリソースについて参照を切る必要があります。
- 削除対象のドメイン:xxx.jp
- 削除後にプライマリとして使用するドメイン:xxx.onmicrosoft.com
で、今回はサインインするユーザのユーザプリンシパル名を変える必要がありました。
下記のユーザの例だとこんな感じですね
- 変更前:
demo-user@xxx.jp
- 変更後:
demo-user@xxx.onmicrosoft.com
このユーザプリンシパルを変更すると、プロパティの項目の中の「メール」に設定されたアドレスが自動で変わります
同時にメールの下にリンクで表示されている「プロキシアドレス」も変わってほしかったのですが、一部のユーザは下記のように新旧のプロキシアドレス両方が設定された状態になりました。(古いほうが残った原因は不明)
この旧ドメインを使用したプロキシアドレスが参照リソースとして引っ掛かっているようだったので、これを削除したかったのですが、ポータルからは削除する術がありません。
Microsoft365のライセンス契約をしているテナントであれば、Exchangeの管理センターでできたようですが、今回はライセンスがないのでそれも使えません
というわけで、これをPowerShellを使って削除することになりました
PowerShellで削除する
管理者権限でPowerShellを起動する
Microsoft Graph PowerShell SDKのインストール
Azure AD PowerShell (AzureAD)が2024/3/30をもって非推奨になったのでMicrosoft Graph PowerShell SDK を使用します(Betaモジュールもインストールします
Install-module Microsoft.Graph
Install-Module Microsoft.Graph.Beta -AllowClobber
サインインする
下記のコマンドを実行するとサインインの画面が起動するので、EntraIDを操作できるロールを持ったユーザでサインインします。今回はグローバル管理者の特権ロールを持ったユーザでサインインしました
Connect-MgGraph -Scopes 'User.ReadWrite.All'
プロキシアドレスを更新する
残したい方のプロキシアドレスを指定してパラメータ用の変数に代入
$params=@{proxyAddresses=@("SMTP:demo-user@xxx.onmicrosoft.com")}
ユーザのプロパティを更新する
先ほどのパラメータの変数を使って更新コマンドを実行する
Update-MgBetaUser -UserId <ユーザーの ObjectID> -BodyParameter $params
ユーザのオブジェクトIDはEntraIDの対象ユーザの概要を確認するとわかります
これを対象ユーザの数だけ繰り返し実行してめでたくドメインの参照を全て切ることが出来ました