メーリングリストとして利用可能な配布グループ(配布リスト)について、複数のグループを一括で作成する場合、CSVファイルに情報を入力し、Powershellのコマンドレットを利用してインポートすることで可能です。
以下に手順を案内いたしますので、ご参考としていただけますと幸いです。
以下の記事をもとにExchangeOnlineに接続してから実行してください。
配布グループを一括で作成する手順
設定に必要な CSV ファイルを以下の書式で作成します。
1. 作成する配布グループの CSV ファイルを作成します。
<CSV ファイル書式>
Name,DisplayName,Alias,PrimarySmtpAddress,Managedby,Members,RequireSenderAuthenticationEnabled,MemberDepartRestriction,MemberJoinRestriction
DL01,DL01,DL01,DL01@contoso.com,admin01@contoso.com,user01@contoso.com,1,0,0
DL02,DL02,DL02,DL02@contoso.com,admin01@contoso.com;admin02@contoso.com;user02@contoso.com,1,0,0
DL03,DL03,DL03,DL03@contoso.com,admin03@contoso.com,user01@contoso.com;user03@contoso.com,1,0,0
<各パラメータについて>
Name : 配布グループの名前
※ 内部的に使用される名称であり、他のオブジェクトと同一の値を使用することができません。
DisplayName : 配布グループの表示名
Alias : 配布グループのエイリアス名 (メールアドレスの @ より前)
PrimarySmtpAddress : 配布グループのメールアドレス
Managedby : 所有者
※ 所有者のメールアドレスを入力します。所有者を複数登録する場合は [;] で区切ってください。
Members : グループメンバー
※ グループメンバーのメールアドレスを入力します。メンバーを複数登録する場合は [;] で区切ってください。
RequireSenderAuthenticationEnabled : 組織内および組織外から送信されたメールを許可する場合は "1"、組織内からの送信されたメールのみを許可する場合は "0" を指定します。
MemberDepartRestriction : グループ脱退時に承認者の承認が不要 (オープン) な場合は "1"、必要 (クローズ) の場合は "0" を指定します。
MemberJoinRestriction : グループ参加時に承認者の承認が不要 (オープン) な場合は "1"、必要 (クローズ) の場合は "0" 、所有者の承認の場合は "2" を指定します。
Nameのみ必須ですが、それ以外の項目で不要な項目は削除することも可能です。
2. UTF-8 形式での保存の手順
- メモ帳へ必要な内容の記載が終了しましたら [ファイル] をクリックします。
- [名前を付けて保存] をクリックします。
- "ファイルの種類" で「すべてのファイル」を選択します。
- "文字コード" のプルダウン メニューより「UTF-8 (BOM 付き)」を選択し、[保存] をクリックします。
3. CSV ファイルに登録した情報を PowerShell コマンドレットを実行し設定します。
<構文>
Import-Csv <保存先のパス\ファイル名> | Foreach {New-DistributionGroup -Name $_.Name -DisplayName $_.DisplayName -Alias $_.Alias -PrimarySmtpAddress $_.PrimarySmtpAddress -Managedby $_.Managedby.split(";") -Members $_.Members.split(";") -RequireSenderAuthenticationEnabled ($_.RequireSenderAuthenticationEnabled-eq "0") -MemberDepartRestriction $_.MemberDepartRestriction -MemberJoinRestriction $_.MemberJoinRestriction }
<実行例>
Import-Csv C:\temp\DistributionGroup.csv | Foreach {New-DistributionGroup -Name $_.Name -DisplayName $_.DisplayName -Alias $_.Alias -PrimarySmtpAddress $_.PrimarySmtpAddress -Managedby $_.Managedby.split(";") -Members $_.Members.split(";") -RequireSenderAuthenticationEnabled ($_.RequireSenderAuthenticationEnabled-eq "0") -MemberDepartRestriction $_.MemberDepartRestriction -MemberJoinRestriction $_.MemberJoinRestriction }
※ 実行例では、C ドライブ直下の Temp フォルダー内に保存している、DistributionGroup.csv を読み込みグループを作成しております。
配布グループのメンバーを一括で追加する手順
<CSV ファイル書式>
1 行目:Name,Member
2 行目:<配布グループのメールアドレス>,<メンバーに追加したいユーザー>
※複数のメンバーを追加する場合は以下のように入力してください。(例では、group@contoso.com のメンバーとして、user@contoso.com、user2@contoso.comを追加、group2@contoso.com のメンバーとして user3@contoso.com を追加しています)
[CSV ファイル作成例]
Name,Member
group@contoso.com,user@contoso.com
group@contoso.com,user2@contoso.com
group2@contoso.com,user3@contoso.com
※ CSV ファイルを保存する際には、文字化けを防止するために UTF-8 形式で保存します。
<構文>
Import-Csv <保存先のパス\ファイル名>|Foreach {Add-DistributionGroupMember -Identity $_.Name -Member $_.Member}
<実行例>
Import-Csv "C:\temp\DistributionGroup.csv"|Foreach {Add-DistributionGroupMember -Identity $_.Name -Member $_.Member}
配布グループの所有者を一括で追加する手順
<CSV ファイル書式>
1 行目:Name,Member
2 行目:<配布グループのメールアドレス>,<所有者に追加したいユーザー>
※ 以下の例では、group01@contoso.com、group02@contoso.com、group03@contoso.com の 3 つのグル-プに所有者を追加しています。
[CSV ファイル作成例]
Identity,ManagedBy
group01@contoso.com,admin@contoso.com;UserA@contoso.com
group02@contoso.com,UserB@contoso.com
group03@contoso.com,UserC@contoso.com
※複数の所有者を追加する場合は(;) で区切って登録します。
※上書き保存される動作であるため、既に所有者が入っている場合は削除されます。
※ CSV ファイルを保存する際には、文字化けを防止するために UTF-8 形式で保存します。
[構文]
Import-Csv "<保存先のパス\ファイル名.csv>" | Foreach {Set-DistributionGroup -Identity $_.Identity -Managedby $_.ManagedBy.split(";") }
[実行例]
Import-Csv "C:\temp\DistributionGroup.csv" | Foreach {Set-DistributionGroup -Identity $_.Identity -Managedby $_.ManagedBy.split(";") }