Exchange Online 管理シェル V2 で受信限定のメールエイリアスを追加/削除する
この記事について
この記事は、Office 365 Advent Calendar 2021 3 日目の記事です。
この記事では、Exchange Online 管理シェル V2 を使用して、Exchange Online (以下、ExO) P1 ライセンスを持っているユーザーに対し受信限定のセカンダリ SMTP アドレス (メールエイリアス) を追加する方法について解説していきます。
Office 365 E1 以上や Microsoft 365 Business Basic 以上のライセンスだと ExO P1 ライセンスが含まれているので、1 ユーザー 1 メールアドレス (プライマリ) が払い出されるかと思います。
企業内のユーザーだったり、IT 関係の仕事に従事している人で O365/M365 を独自に契約している人の中には、違うメールアドレスが欲しい という理由でライセンスを追加する人がいるかもしれませんが、メールアドレスの利用要件によっては、ライセンスを追加する必要がないものもあったりします。
今回は、Exchange Online の機能として一般提供されているメールエイリアスの機能を使い、1 メールアドレスに受信専用のメールエイリアス (セカンダリ SMTP アドレス) を CUI で追加する方法を解説します。
GUI でメールエイリアスを追加したい場合
こちらの公式ドキュメントを参照してください。
グローバル管理者権限にて、Microsoft 365 管理センターから操作を行なってください。
環境
今回の検証は、以下の環境で実施しました。
- OS: Windows 10 Enterprise (10.0.19043)
- Windows PowerShell: 5.1.19041.1320
- Exchange Management Shell: 2.0.5
ExO 管理シェルは、バージョン 2.0.4 以降は PowerShell 7 でもサポートされています。つまり、Windows/macOS/Linux など、さまざまな環境で ExO 管理シェル V2 が使用可能です。
具体的にな ExO 管理シェル V2 (2.0.4 以降) のサポート対象は以下の通りです。
- macOS
- macOS 11 Big Sur 以降
- macOS 10.15 Catalina
- macOS 10.14 Mojave
- Linux
- Ubuntu 20.04 LTS
- Ubuntu 18.04 LTS
- Windows
- Windows 10
- Windows 8.1
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 または Windows Server 2012 R2
- Windows 7 Service Pack 1 (SP1)
- Windows Server 2008 R2 SP1
CUI で ExO ユーザーのメールエイリアスを追加する手順
ExO 管理シェル V2 をインストールする
管理者権限で Windows PowerShell を起動して、PowerShell Gallery 経由で ExchangeOnlineManagement
をインストールします。
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.5
モジュールがインストールされたかどうか、確認します。
Get-InstalledModule -Name ExchangeOnlineManagement
インストールが成功している場合、以下のような結果が出力されるはずです。
Version Name Repository Description
------- ---- ---------- -----------
2.0.5 ExchangeOnlineManagement PSGallery This is a General Availability (GA) release of E...
ExO に接続
Exchange Online に接続します。ExO 管理シェル V2 のログインコマンドは、多要素認証 (MFA) にも対応しています。
chris@contoso.com
は実際に接続で使用する、グローバル管理者権限を持つユーザーの UPN に置き換えてください。
Connect-ExchangeOnline -UserPrincipalName chris@contoso.com
現在のメールエイリアス情報を取得
任意のユーザーのメールエイリアスの設定値を確認するには、Get-EXOMailbox
コマンドを使用します。
chris@contoso.com
はメールエイリアスの設定状況を確認するユーザーの UPN に置き換えてください。
Get-EXOMailbox -Identity chris@contoso.com | select -expand EmailAddresses alias
コマンドを実行すると、以下のような結果が返ってくるはずです。
SMTP:
と大文字で始まっているものがプライマリのメールアドレスになります。
追加のメールエイリアス (セカンダリ SMTP アドレス) は、smtp:
と小文字で始まるものになります。
smtp:chris001@contoso.com
smtp:chris@second.contoso.com
SPO:SPO_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx@SPO_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SIP:chris@contoso.com
SMTP:chris@contoso.com
新しくメールエイリアスを追加/削除
任意のユーザーに対して、新しいメールエイリアス (セカンダリ SMTP アドレス) を追加します。
chris@contoso.com
は実際に新しいメールエイリアスを追加するユーザーの UPN に置き換えてください。
peter@second.contoso.com
は実際に追加する新しいメールエイリアスの値に置き換えてください。
Set-Mailbox -Identity chris@contoso.com -EmailAddresses @{Add='peter@second.contoso.com'}
これで、受信限定の新しいメールエイリアス (セカンダリ SMTP アドレス) が作成されました。設定されたかどうかを確認したい場合は、前述の Get-EXOMailbox
コマンドを実行してください。
コマンドの -Identity
オプションでは、対象のユーザーの UPN を指定しています。指定は必須のため、指定なしで Set-Mailbox
を実行した場合、Identity 値の入力が求められます。
-EmailAddresses
オプションですが、値なしでこのオプションを使用することはしないでください。メールエイリアス情報の消失などにつながります。
任意のユーザーから、既に使用されているメールエイリアス (セカンダリ SMTP アドレス) を削除する場合は、以下の通りです。
chris@contoso.com
は実際にメールエイリアスを削除するユーザーの UPN に置き換えてください。
peter@second.contoso.com
は実際に削除するメールエイリアスの値に置き換えてください。
Set-Mailbox -Identity chris@contoso.com -EmailAddresses @{Remove='peter@second.contoso.com'}
Azure AD Connect で Active Directory 同期しているユーザーの場合
組織によっては、オンプレミスなどで稼働している Active Directory (AD) と Azure AD を Azure AD Connect (AADC) で同期させ、AD と同期しているユーザーに対して ExO P1 ライセンスを付与している場合があると思います。この場合、上記で示したコマンドは一切使用できません。
代わりに、AD で設定されているユーザーの属性値を更新することで、メールエイリアス (セカンダリ SMTP アドレス) 情報が同期されることになります。
追加/削除は Active Directory の proxyAddresses 属性で設定
AADC で同期している AD にログインし、Get-ADUser
コマンドと Set-ADUser
コマンドを使用してセカンダリ SMTP アドレスを追加します。
chris@contoso.com
は実際に新しいメールエイリアスを追加するユーザーの UPN に置き換えてください。
peter@second.contoso.com
は実際に追加する新しいメールエイリアスの値に置き換えてください。
$User = Get-ADUser -Filter "UserPrincipalName -eq 'chris@contoso.com'" -Properties * | select Name,proxyAddresses
Set-ADUser -Identity $User.Name -add @{ProxyAddresses="smtp:peter@second.contoso.com"}
任意のユーザーから、既に使用されているメールエイリアス (セカンダリ SMTP アドレス) を削除する場合は、以下の通りです。
chris@contoso.com
は実際にメールエイリアスを削除するユーザーの UPN に置き換えてください。
peter@second.contoso.com
は実際に削除するメールエイリアスの値に置き換えてください。
$User = Get-ADUser -Filter "UserPrincipalName -eq 'chris@contoso.com'" -Properties * | select Name,proxyAddresses
Set-ADUser -Identity $User.Name -remove @{ProxyAddresses="smtp:peter@second.contoso.com"}
参考情報
PowerShell Gallery
Microsoft Docs
- Exchange Online PowerShell V2 モジュールのバージョン情報
- Install-Module
- Get-InstalledModule
- Connect-ExchangeOnline
- Get-EXOMailbox
- Get-ADUser
- Set-ADUser
Discussion