PowerShell

Powershell を利用した配布グループの管理

2017/11/08

配布グループのオプションでは配布グループの作成、変更、および配布グループへの参加ができますが、全体管理者権限と一般ユーザーでは作成できる配布グループに差異があり、セキュリティグループは管理者のみが作成可能となります。詳しくはこちらで。

今回はこの配布グループの作成と管理について、PowerShell から実行、設定する際に利用するコマンドについて紹介したいと思います。おそらく利用するコマンドは下記の 6 つになると思います。

  • Get-DistributionGroup
    既存の配布グループ確認用コマンド。全体管理者、一般ユーザーともに利用可能。
  • New-DistributionGroup
    配布グループ新規作成用コマンド。全体管理者、一般ユーザーともに利用可能。ただし一般ユーザーはセキュリティグループは作成できない。
  • Set-DistributionGroup
    配布グループの設定変更用コマンド。全体管理者、一般ユーザーともに利用可能。ただし一般ユーザーは自分自身が所有者になっている配布グループに対してのみ実行可能。全体管理者の場合でも、対象がセキュリティグループの場合、且つ自分自身が所有者ではない場合はエラーとなるため、そのような状況においては -BypassSecurityGroupManagerCheck パラメーターを別途指定する必要あり。
  • Remove-DistributionGroup
    配布グループの削除用コマンド。全体管理者、一般ユーザーともに利用可能。ただし一般ユーザーは自分自身が所有者になっている配布グループに対してのみ実行可能。全体管理者の場合でも、対象がセキュリティグループの場合、且つ自分自身が所有者ではない場合はエラーとなるため、そのような状況においては -BypassSecurityGroupManagerCheck パラメーターを別途指定する必要あり。
  • Add-DistributionGroupMember
    配布グループのメンバー追加用コマンド。全体管理者、一般ユーザーともに利用可能。ただし一般ユーザーは自分自身が所有者になっている配布グループに対してのみ実行可能。全体管理者の場合でも、対象がセキュリティグループの場合、且つ自分自身が所有者ではない場合はエラーとなるため、そのような状況においては -BypassSecurityGroupManagerCheck パラメーターを別途指定する必要あり。
  • Remove-DistributionGroupMember
    配布グループのメンバー削除用コマンド。全体管理者、一般ユーザーともに利用可能。ただし一般ユーザーは自分自身が所有者になっている配布グループに対してのみ実行可能。全体管理者の場合でも、対象がセキュリティグループの場合、且つ自分自身が所有者ではない場合はエラーとなるため、そのような状況においては -BypassSecurityGroupManagerCheck パラメーターを別途指定する必要あり。

なお、Outlook on the web のオプションから行うことができる配布グループへの参加操作 (自分で参加したいグループを選択、参加する操作) を、PowerShell から実行、操作するのは、検証の結果からではありますが、困難なように見受けられました。以下、詳細です。

Outlook on the web のオプションから行うことができる配布グループへの参加を実施、操作した際、内部的には Add-DistributionGroupMember コマンドが走っている模様です。これは、管理者監査ログから確認が可能です。配布グループへの参加は、メンバーの追加となりますため、Add-DistributionGroupMember コマンドという点は納得です。しかしながら、実際に一般ユーザー権限で PowerShell から Exchange Online に接続し、Add-DistributionGroupMember コマンドにて、参加したい配布グループを -Identity で指定し、-member にて自分自身を指定 (参加したいのは自分なので) してもエラーが返されます。

一般ユーザー権限のユーザー自身が所有者になっている配布グループに対してはエラーなく成功しますが、自身が所有者していない配布グループのメンバーになるために実施するのが参加の操作となりますため、コマンドを成功させるために所有者に追加では意味がありません。

参加の処理は、配布グループの設定によっては承認が必要な状況もあるため、どうも PowerShell のコマンドひとつで完了できるような簡単なものではないようですので、参加を行う場合は Outlook on the web のオプションより GUI ベースの操作が必要なようです。

-PowerShell