どうもミツシマです。

今回はOffice365で設定出来る各グループについてPowershellコマンドで設定する方法を検証してみました。
(注)2019年10月末日検証なので将来的に何か変わる可能性がある。
    ※2019年11月21日更新

検証環境は以下の通り
PC:Windows10


〜検証〜

まずOffice365のグループには検証した現在4つの種類がある。
  • セキュリティグループ
  • メールが有効なセキュリティグループ
  • 配布リストグループ
  • Office365グループ

まずはそれぞれの理解について。
<セキュリティグループ>
・・・OneDriveやSharePointへのアクセス制御やOffice365のモバイルデバイス管理用に使用される
   ただし、グループ自体にメールアドレス(メールボックス)を持たない
   グループのメンバーになれるのは内部(Office365テナント内)のユーザー
   主にアクセス権設定用のグループという認識
   

<メールが有効なセキュリティグループ>
・・・OneDriveやSharePointへのアクセス制御やOffice365のモバイルデバイス管理用に使用される
   グループ自体にメールアドレス(メールボックス)を持つ
   グループのメンバーになれるのは内部(Office365テナント内)のユーザー
   アクセス権設定用+メールアドレスを持つグループという認識
   

<配布リストグループ>
・・・グループ自体にメールアドレスを持つ(メールボックス自体はあるのかな??今後要検証)
   グループのメンバーになれるのは内部(Office365テナント内)のユーザー+外部(ゲスト)ユーザー
   ただし、アクセス権設定には使用出来ない
   メールを所属メンバーに配布するのが主な目的となるグループ
   ※Offce365グループにコンバートが出来るよう

<Office365グループ>
・・・グループ自体にメールアドレス(メールボックス)を持つ
   グループのメンバーになれるのは内部(Office365テナント内)のユーザー+外部(ゲスト)ユーザー
   ただし、アクセス権設定には使用出来ない
   Teamsのチームになれるグループである為、SharePointサイトを持つことが出来るグループ
   メンバー間の共有ワークスペースを持てるグループ
   ※コマンドで配布リストを作成しようとするとOffice365があるよと注意書きみたいなのが出る
    唯一Teamsのチームとなれるグループで実際画面だとこんな感じ↓↓↓
Office365グループ作成画面

ざっとこんな感じの理解だ。


実際のOffice365の各グループ作成画面を見るとこんな感じの説明↓↓↓
グループ作成画面


各種Powershellコマンドで各グループを比較するとこんな感じ↓↓↓
グループ一覧-各種コマンド結果

<作成した各テストグループ>
セキュリティグループ TEST-Group-SecurityOnly
メールが有効なセキュリティグループ TEST-Group-MailEnableSecurity
配布リストグループ TEST-Group-HaihuList
Office365グループ TEST-Office365Group


それぞれ「Get-MsolGroup」・「Get-AzureADGroup」・「Get-Group」での出力結果である。
Get-Group」コマンドはExchangeOnline用のコマンドなのでメールアドレス(メールボックス)を持たないセキュリティグループは表示されていない。
それ以外のコマンドではすべてのグループが確認出来る。


それぞれのグループが確認出来たところで実際のPowershellコマンド例がこちら↓↓↓

〜コマンド例〜

#各種グループ確認コマンド
Get-MsolGroup | select DisplayName,Description,GroupType | sort DisplayName
Get-AzureADGroup | select DisplayName,Description,MailEnabled,SecurityEnabled | sort DisplayName
Get-Group | select DisplayName,Name,GroupType,Description | sort DisplayName


#グループ作成コマンド
#(1)セキュリティグループ
New-MsolGroup -DisplayName "CMD-New-MsolGroup-Security" -Description "New-MsolGroupコマンドを使用して作成したグループ"

New-AzureADGroup -DisplayName "CMD-AzureADGroup-SecurityOnly" -Description "New-AzureADGroupコマンドで作成したセキュリティグループ" -MailEnabled $false -SecurityEnabled $true -MailNickName "None"

#(2)メールが有効なセキュリティグループ(外部からのメールを受け付ける)
New-DistributionGroup -Type Security -Name "CMD-MailEnableSecurity1" -Notes "New-DistributionGroupコマンドで作成したメールが有効なセキュリティグループ" -PrimarySmtpAddress "CMD-MailEnableSecurity1@〜.onmicrosoft.com" -Alias "CMD-MailEnableSecurity1" -RequireSenderAuthenticationEnabled $false

#(3)メールが有効なセキュリティグループ(外部からのメールは受け付けない)
New-DistributionGroup -Type Security -Name "CMD-MailEnableSecurity2" -Notes "New-DistributionGroupコマンドで作成したメールが有効なセキュリティグループ" -PrimarySmtpAddress "CMD-MailEnableSecurity2@〜.onmicrosoft.com" -Alias "CMD-MailEnableSecurity2" -RequireSenderAuthenticationEnabled $true

#(4)配布リスト(外部からのメールを受け付ける)
New-DistributionGroup -Type Distribution -Name "CMD-HaihuList1" -Notes "New-DistributionGroupコマンドで作成した配布グループ" -PrimarySmtpAddress "CMD-HaihuList1@mm20191113.onmicrosoft.com" -Alias "CMD-HaihuList1" -RequireSenderAuthenticationEnabled $false

#(5)配布リスト(外部からのメールを受け付けない)
New-DistributionGroup -Type Distribution -Name "CMD-HaihuList2" -Notes "New-DistributionGroupコマンドで作成した配布グループ" -PrimarySmtpAddress "CMD-HaihuList2@〜.onmicrosoft.com" -Alias "CMD-HaihuList2" -RequireSenderAuthenticationEnabled $true

#(6)外部からのメールを受け付けるかどうかを確認
Get-DistributionGroup | select DisplayName,RequireSenderAuthenticationEnabled

#(7)Office365ユーザーの作成(外部からのメールを受け付ける)
New-UnifiedGroup -DisplayName "TEST Office365グループ" -Name "test-office365group" -PrimarySmtpAddress "test-office365group@〜.onmicrosoft.com" -Alias "test-office365group" -AccessType Private
Set-UnifiedGroup -Identity "TEST Office365グループ" -Language ja-JP -RequireSenderAuthenticationEnabled $false

#(8)Office365ユーザーの作成(外部からのメールを受け付ける)
New-UnifiedGroup -DisplayName "TEST Office365グループ2" -Name "test-office365group2" -PrimarySmtpAddress "test-office365group2@〜.onmicrosoft.com" -Alias "test-office365group2" -AccessType Private
Set-UnifiedGroup -Identity "TEST Office365グループ2" -Language ja-JP -RequireSenderAuthenticationEnabled $true

#(9)Office365ユーザーの確認
Get-UnifiedGroup | select DisplayName,PrimarySmtpAddress,GroupType,AccessType


実際に使用する際には事前にOffice365に接続するコマンドが必要となるが今回は割愛。
各種コマンドについてはもっとオプションがあるが、今回は必要と思われるものをピックアップしている。
注意点としては「New-AzureADGroup」のオプションで「-MailEnabled」というパラメータがあるのでてっきりメールが有効なセキュリティグループを作成出来るかと思いきや、出来ないという(笑)
じゃあ何であるんだよ!?!?
なので基本メールアドレス(メールボックス)を持つグループはExchange Onlineを操作するコマンド郡で作成することになる。

※2019年11月19日追記
メールアドレスを持つグループを作成する際には「-PrimarySmtpAddress」と「-Alias」を入れることを推奨する。(その際これらの値に日本語は入れないこと!!)
何故かというと、これらを指定しない場合、「-Name」が日本語だと上記の値が文字化け?を起こしてしまうからだ。設定だけは出来てしまうが、日本語部分が「????」みたいな感じに不正な値になる(ー_ー)!!
Office365ユーザーグループも恐らくそうだが、未検証。。。早くやらねば!
※2019年11月21日検証結果追記
Office365グループの場合には「-Name」・「-PrimarySmtpAddress」・「-Alias」を入れることを推奨する。(日本語は入れないこと!!理由は上記と同じ!!!)

以上で今回の検証は終了。
今回のグループ作成ではメンバーの追加を考慮していなかったので、次回メンバー一括追加方法を検証したいと思う。

P.S. Office365の各グループについては次回の検証時に表とかでまとめられたら良いな〜
  後どうやらOffice365のグループで入れ子(ネスト)は推奨されていないみたい!?!?
  入れ子 (ネスト) グループへの権限付与について
  ※アクセス権は大丈夫なのかな〜〜??その辺りも今後要検証!!
スポンサードリンク