はじめに
Microsoft 365のユーザーには属性(プロパティ)があります。
身近な例だと、UserPrincipalNameやDisplayNameなど種類をあげると切りがありません。
これらの属性の中にProxy Addresses属性があります。
この属性は以下のように記載されます。
例:{SMTP:tarou01JBS@example.com}
このアドレスは一般的には受信専用のアドレスとして利用されます。
本記事では、このProxyAddresses属性を編集するにはどのようにすれば良いのかを紹介したいと思います。
Proxy Addresses属性の編集に至った理由
今回、私がProxy Addresses属性を編集することになったのは「元々ゲスト招待されているユーザーに対してAzureで再ゲスト招待を実施すると、意図せずこの属性が変わってしまう」という例があったからです。
実際に起きた事を例を使って表現すると
変更前:{SMTP:tarou01JBS@example.com}
変更後:{SMTP:tarou000000000001@example.com; smtp:tarou01JBS@example.com}
のように、元々SMTPアドレスになっていたものが、smtpアドレスに変わってしまう事がありました。
意図していない変更のため元の値に設定する必要があり、この属性の編集を実施しました。
今回の前提条件
今回の変更を行うにあたり、以下の条件がありました。
- 対象人数が多いため、スクリプトで実行する
- 使用できるのはAzure ADモジュールのみ
結論
属性の編集で1番先にパッと思いつくのは、Azure ADにて該当ユーザーのプロパティ一覧から編集することです。
ですが、Azure ADのユーザープロパティ一覧にはProxy Addresses属性がなく、編集できませんでした。
先に結論を書いてしまいます。
- Proxy Addresses属性はAzure AD管理センターから編集できませんでした
- PowerShellのAzure ADモジュールを使用しても編集はできませんでした
今回の前提条件ではできませんが、どうしても編集したい場合はExchange管理センターやPowerShellのExchangeOnlineモジュールを使用することで編集が可能です。
では、実際に私が実施した失敗方法と成功方法を紹介します。
編集に失敗した方法:Azure ADからの操作
私がProxy Addresses属性を変更するために実施した方法は2つあります。
Azure AD管理センターから編集する
1つ目は、Azure AD管理センターで、ユーザーのプロパティ一覧から直接編集する方法です。
こちら前述した通り、プロパティ一覧にProxy Addresses属性が無いため、編集はできませんでした。
PowerShell+Azure ADモジュールで編集する
2つ目は、PowerShellにてAzure ADモジュールで編集する方法です。
Azure ADモジュールでSetコマンドを実施することで属性を設定することができます。
例として、CompanyNameに会社名を設定したいことを考えます。
このときPowerShellにて
Set-AzureADUser -ObjectId "オブジェクトID" -CompanyName "会社名"
で設定することができます。
このSetコマンドを用いて、
Set-AzureADUser -ObjectId "オブジェクトID" -ProxyAddresses "{SMTPアドレス}"
で設定できるのではないかと思いましたが、できませんでした。
そもそも-ProxyAddressesを指定することができませんでした。
-ProxyAddressesが指定できないので、Azure ADモジュールでも編集不可能なことがわかりました。
編集に成功した方法:Exchangeからの操作
では、実際に編集するにはどうしたら良いのかを紹介します。
先述した通り、Proxy Addresses属性を編集するにはExchange管理センターやExchangeOnlineモジュールを使用します。
Exchange管理センターで編集する
まず、Exchange管理センターで編集する方法について紹介します。
1.Exchange管理センターを開きます。
2.受信者>メールボックス>(変更したいユーザー)>全般にある「メールアドレスの種類と管理」を選択します。
3.「メール アドレスの種類の管理」で編集できます。
4.変更する場合は、既定の返信アドレスにしたいもの(今回はtarou01JBSから始まるアドレス)の右にある「編集」をクリックします。
5.「このアドレスを返信アドレスに設定する」にチェックを入れて「OK」をクリックします。
6.「保存」をクリックすることで、変更できます。
PowerShell + Exchange Onlineモジュールで編集する
次にExchange Onlineモジュールを使用したPowerShellでの編集方法を紹介します。
まず、Exchange Onlineと接続します。
Connect-ExchangeOnline
次にSMTPアドレスを変更します。
Set-Mailbox -Identity "UPN" -WindowsEmailAddress "SMTPアドレス"
で設定できます。
さいごに
Proxy Addresses属性を編集するにはExchangeから編集することしかできず、Azureから編集することができないということを紹介しました。
属性を設定する作業を行う機会は多いと思います。今回はProxy Addresses属性に着目しましたが、他にもAzureで編集できない属性があると思います。
本記事はそのような属性があるという良い例になればと思います。