本動作については、以前、ご紹介しておりました [MC365786] にて、今後新規作成されるメールボックスの Name 属性 (Identity、Id) は ExternalDirectoryObjectID (本件の数字とアルファベットの羅列) の値が指定される動作がテナントに展開されたことで発生しています。
※ 2022年 9 月以降にロールアウトが段階的に行われており、2022 年 12 月中旬までにすべてのテナントに対して完了する予定です。
Name 属性値と Identity と Id 属性値の値は連動しており同様の値となります。
展開の背景として、AzureAD のアカウントの [CN] 属性の値を用いて、ExchangeOnline の Name 値を作成し同期してましたが、一意の値とならない場合があり、別オブジェクトとの競合が発生するため、Name 値に各オブジェクトの固有値である ExternalDirectoryObjectId を利用し、競合を防止するため [MC365786] のリリースが発表されたことが想定されます。
オンプレミス AD 同期ユーザー以外の、Microsoft 365 管理センター上で作成したクラウドユーザーのメールボックスについても同様の動作となります。
なお、Name、identity、Id の属性値を変更したい場合は、Set-Mailbox にて対象メールボックスの Name の値を変更することで、Identityと Id 属性にも変更が反映されます。
オンプレミス AD との同期オブジェクトの場合は変更できません。
以下に、コマンドレットをご案内いたしますので、ご確認くださいますようお願い申し上げます。
事前準備
事前に以下の記事を参照し Windows PowerShell を Exchange Online に接続します。
Name 属性を確認する
[構文]
Get-Mailbox -ResultSize unlimited -RecipientTypeDetails UserMailbox | select Name,identity,ID,DisplayName,PrimarySmtpAddress | Export-CSV -Encoding UTF8 -Path <ファイルパス\ファイル名>.csv -NoTypeInformation
[実行例]
Get-Mailbox -ResultSize unlimited -RecipientTypeDetails UserMailbox | select Name,identity,ID,DisplayName,PrimarySmtpAddress | Export-CSV -Encoding UTF8 -Path C:\temp\UserMailbox.csv -NoTypeInformation
※C ドライブの配下の temp フォルダーに UserMailbox.csv という名前のファイルで情報保存する場合
<出力結果>
Name,identity,ID : Name 属性値
DisplayName : 表示名
PrimarySmtpAddress : メールアドレス
Name 属性を変更する
ユーザー単位で変更する場合
[構文]
Set-Mailbox -Identity <対象メールボックスのメールアドレス> -Name <変更後の Name属性>
[実行例]
Set-Mailbox -Identity User@contoso.com -Name "user"
※ 上記実行例では user@contoso.com の Name の値を user に変更しています。
複数ユーザーを一括で変更する場合
◆ 1. CSV ファイルを作成する
[CSV ファイル構文例]
1 行目 : PrimarySmtpAddress,Name
2 行目 : 対象ユーザーのアドレス,変更後の Name 属性
[作成例]
PrimarySmtpAddress,Name
User01@contoso.onmicrosoft.com,User01
User02@contoso.onmicrosoft.com,User02
User03@contoso.onmicrosoft.com,User03
※ CSV ファイルの中に漢字など 2 バイト文字を使用する場合については、UTF-8 形式で保存する必要があります。
- UTF-8 での保存の手順
- CSVファイルを右クリックし、[プログラムから開く] - [メモ帳]の順にクリックします
- 開いたメモ帳で[ファイル] - [名前を付けて保存] の順にクリックします。
- ファイルの種類で「すべてのファイル」を選択します。
- 文字コードで「UTF-8」を選択します。
- [保存]をクリックします。
◆ 2. Name 属性を一括変更するコマンドを実行
作成した CSV ファイルを読み込み、一括で Name 属性を変更します。
[構文]
Import-CSV "<保存先パス\ファイル名.csv>" | Foreach {Set-Mailbox -Identity $_.PrimarySmtpAddress -Name $_.Name}
[実行例]
Import-CSV "C:\Temp\ChangeName.csv" | Foreach {Set-Mailbox -Identity $_.PrimarySmtpAddress -Name $_.Name}
※ 実行例では作成した C ドライブの Temp フォルダの ChangeName.csv を読み込んで設定するコマンド例となります。