社畜の所業

社畜の所業

Microsoft365の機能について解説をしていきたいと思います。このブログの情報をご活用いただければ幸いです。たまに他の情報も取り入れていきたいと思います。

※このサイトはPR記事を含みます。

【Microsoft365参考書】複数の配布グループを一括で作成するには?メンバーと所有者を一括で登録するには?

f:id:it-bibouroku:20210404095716p:plain

メーリングリストとして利用可能な配布グループ(配布リスト)について、複数のグループを一括で作成する場合、CSVファイルに情報を入力し、Powershellのコマンドレットを利用してインポートすることで可能です。

 

以下に手順を案内いたしますので、ご参考としていただけますと幸いです。

 

以下の記事をもとにExchangeOnlineに接続してから実行してください。

 

 

it-bibouroku.hateblo.jp

 

 

配布グループを一括で作成する手順 

設定に必要な 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" を指定します。 

 

 

 2. UTF-8 形式での保存の手順 

  1. メモ帳へ必要な内容の記載が終了しましたら [ファイル] をクリックします。
  2. [名前を付けて保存] をクリックします。
  3. "ファイルの種類" で「すべてのファイル」を選択します。
  4. "文字コード" のプルダウン メニューより「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.comuser2@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.comgroup02@contoso.comgroup03@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(";") }