共有メールボックスの一括登録(備忘録)

1.共有メールボックスとは

Microsoft 365の共有メールボックスは、特定の個人に紐づかず、複数のユーザーで1つのメールアドレスと受信トレイを共同利用できる仕組みです。代表的な用途として、info@ や support@ などの代表アドレスがあります。複数人が同じメールを確認・返信できるため、対応漏れの防止や業務の属人化解消に役立ちます。共有メールボックス自体の作成にライセンスは不要で、ユーザーにアクセス権を付与することでOutlookなどから利用できます。受信・送信履歴を一元管理でき、チームでのメール対応を効率化できる点が特長です。

基本的にはM365管理センターから登録できますが、管理センターのUIで多くの共有メールボックスを登録するのは手間がかかるので、PowerShellで一括登録する方法を公開します。

1.1共有メールボックス登録用CSVファイル準備

最初に一括登録するために2種類のCSVファイルを作成します。

・共有メールボックス作成用CSV:SharedMailbox.csv

共有メールボックス自体を登録するためのCSVファイルです。

【注意点】PowerShellで読み込むファイルはUTF-8で保存してください。

・共有メールボックスアクセス権追加用CSV:SharedMailboxPermission.csv

共有メールボックスにメンバーとアクセス権を登録するためのCSVファイルです。

■SharedMailbox.csvファイル仕様(入力例)

Name,DisplayName,Alias,PrimarySmtpAddress
info_exsample総合窓口,info,info@example.co.jp
support_exampleサポート窓口,support,support@example.co.jp

※NameはExchange内のユニークキーなのでUIに表示されません。

■SharedMailboxPermission.csvファイル仕様(入力例)

Identity,User,AccessRight,AutoMapping
info@example.co.jp,user1@example.co.jp,FullAccess,True
info@example.co.jp,user1@example.co.jp,SendAs,
support@example.co.jp,user2@example.co.jp,FullAccess,True
support@example.co.jp,user2@example.co.jp,SendOnBehalf,

2.PowerShell準備

PowerShellは5.1以上を想定

以下の順にコマンドを投入します。

・実行ポリシー確認・設定

Get-ExecutionPolicy

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

・Exchangeモジュールのインストール

Install-Module ExchangeOnlineManagement -Repository PSGallery -Force

既にインストールしたことがあるときは下記のコマンドを投入
Update-Module ExchangeOnlineManagement

ExchangeOnlineに接続

Connect-ExchangeOnline

サインイン画面が表示されるので管理センターへのアクセス権限のあるユーザーでサインインします。

接続状況の確認(省略可)

Get-ConnectionInformation

3.インポート操作

準備したCSVファイルでインポートを実施します。

3.1SheardMailbox.csvの読込

ファイル名:SeardMail_PowerShell_Command.ps1

Import-Csv .\SharedMailbox.csv | ForEach-Object {
New-Mailbox -Shared `
-Name $_.Name `
-DisplayName $_.DisplayName `
-Alias $_.Alias `
-PrimarySmtpAddress $_.PrimarySmtpAddress
}

※.\SeardMailbox.csvはCSVファイルを配置したフルパスで記入してください。

3.2SheardMailbox.csvの読込

ファイル名:SeardMail_PowerShell_Command.ps1

Import-Csv .\SharedMailbox.csv | ForEach-Object {
New-Mailbox -Shared `
-Name $_.Alias `
-DisplayName $_.DisplayName `
-Alias $_.Alias `
-PrimarySmtpAddress $_.PrimarySmtpAddress
}

※.\SeardMailbox.csvはCSVファイルを配置したフルパスで記入してください。