🤝
共有メールボックスをPowerShellで作成
はじめに
Excange Onlineで共有メールボックスの作成をGUIで行うとしんどいので、PowerShellで行う方法をまとめました。ネット上にある情報がPowerShellをパイプライン書いていて個人的に分かりづらいので、この記事では見やすく書いています。
目次
環境
- PowerShell version: 5.1.19041.2673
- Exchange PowerShell
共有メールボックス作成
- 共有メールボックス作成
- メンバー割り当て
- 所有者として送信できるようにする
- 送信済みフォルダにメールをコピーする
- 確認
CSV(共有メールボックス作成用)
Alias | DisplayName | PrimarySmtpAddress |
---|---|---|
aaaa | 共有メールボックス01 | aaaa@example.com |
bbbb | 共有メールボックス02 | bbbb@example.com |
cccc | 共有メールボックス03 | cccc@example.com |
作成用PowerShell
# 接続(グローバル管理者 or Exchange管理者)
Connect-ExchangeOnline
# CSV読み込み(パスは書き換えてください)
$CSVs = Import-Csv -Path "<CSVファイルへのパス>"-Encoding UTF8
# 共有メールボックス作成
foreach($CSV in $CSVs)
{
$DisplayName = $CSV.DisplayName
$PrimarySmtpAddress = $CSV.PrimarySmtpAddress
$Alias = $CSV.Alias
New-Mailbox `
-Shared `
-Name $DisplayName `
-DisplayName $DisplayName `
-PrimarySmtpAddress $PrimarySmtpAddress `
-Alias $Alias
}
CSV(メンバー追加用)
PrimarySmtpAddress | Member |
---|---|
aaaa@example.com | user01@example.com |
aaaa@example.com | user02@example.com |
aaaa@example.com | user03@example.com |
メンバー追加用PowerShell
- 「共有メールボックス01」にuser1-3を割り当てます
# 接続(グローバル管理者 or Exchange管理者)
Connect-ExchangeOnline
# CSV読み込み(パスは書き換えてください)
$CSVs = Import-Csv -Path "<CSVファイルへのパス>"-Encoding UTF8
# ユーザー割り当て
foreach($CSV in $CSVs)
{
$PrimarySmtpAddress = $CSV.PrimarySmtpAddress
$Member = $CSV.Member
Add-MailboxPermission `
-Identity $DisplayName `
-User $Member `
-AccessRights FullAccess `
-InheritanceType All
}
# メンバーを共有メールボックスの所有者として送信できるようにする
foreach($CSV in $CSVs)
{
$PrimarySmtpAddress = $CSV.PrimarySmtpAddress
$Member = $CSV.Member
Add-RecipientPermission `
-Identity $PrimarySmtpAddress `
-Trustee $Member `
-AccessRights SendAs `
-Confirm:$false
}
確認
foreach($CSV in $CSVs)
{
$PrimarySmtpAddress = $CSV.PrimarySmtpAddress
$Member = $CSV.Member
Get-MailboxPermission -Identity $PrimarySmtpAddress `
| Out-File -FilePath "<ファイルのパス+ファイル名>" -Append
Get-RecipientPermission `
-Identity $PrimarySmtpAddress `
-Trustee $Member `
| Out-File -FilePath "<ファイルのパス+ファイル名>" -Append
}
# 切断
Disconnect-ExchangeOnline
まとめ、所感
- GUIで手を動かす単純作業の時間は減らせる
- CSVの作り込みが必要
- 確認作業が楽
- 共有メールボックスへのメンバー追加は「メールが有効なセキュリティグループ」を使用したほうが楽かも(要検証)
Discussion