《Office365》グループにユーザーを追加する処理をPowerShellで行いたい。

Office365の「グループ」には2つある。(1)Emailアドレスを持たない、ADで言うセキュリティグループ (2)Emailアドレスを持つ、配布グループのようなもの。
Office365のサポートも数年前と比較し、かなり改善されて、ネットに見つからない処理方法も、教えてくれるようになった。この処理は、他の人も気にしていることだろうと思うので、共有していきたい。後者の(2)はぐぐって見つかったが、(1)は分からなかった。

 

(1)セキュリティ グループにメンバーを追加する

1. メンバーを追加するセキュリティ グループの ObjectID を確認します。
[構文] Get-MsolGroup | where {$_.DisplayName -eq “セキュリティグループの表示名”} | Export-Csv -NoTypeInformation -Encoding UTF8 -Path “ファイルの保存先パス\ファイル名.csv”
[実行例] Get-MsolGroup |where {$_.displayname -eq “SecurityGroup01”} | Select DisplayName,ObjectID | Export-Csv -NoTypeInformation -Encoding UTF8 -Path C:\Temp\ObjectID.csv

2. ユーザーの ObjectID を確認します。
[構文] Get-MsolUser -all | Select UserPrincipalName,DisplayName,ObjectId | Export-CSV -NoTypeInformation -Encoding UTF8 -Path “C:\TEMP\AllUser.csv”
[実行例] Get-MsolUser -all | Select UserPrincipalName,DisplayName,ObjectId | Export-CSV -NoTypeInformation -Encoding UTF8 -Path “C:\TEMP\AllUser.csv”

3. セキュリティ グループにユーザーを登録するために、以下の形式の CSV ファイルを作成します。
[作成例] groupObjectId,groupMemberObjectId aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee,11111111-2222-3333-4444-555555555555
※2 行目以降はご登録いただく”グループの ObjectId”,”メンバーの ObjectId” の情報をご入力ください。

4. 作成した CSV ファイルを基に、セキュリティ グループへメンバーを追加します。
※ここでは、手順 3. にて作成した CSV ファイルの名前を MsolGroupMember.csv としています。
[構文] Import-Csv “CSV ファイルのパス\ファイル名.csv” | Foreach {Add-MsolGroupMember -groupObjectid $_.groupObjectid -groupmemberType “User” -groupMemberObjectId $_.groupMemberObjectId}
[実行例] Import-Csv “C:\TEMP\MsolGroupMember.csv” | Foreach {Add-MsolGroupMember -groupObjectid $_.groupObjectid -groupmemberType “User” -groupMemberObjectId $_.groupMemberObjectId}

5. 登録したメンバーの確認は以下の PowerShell コマンドを実行することで可能です。
[構文] Get-MsolGroupMember -groupObjectid “グループの ObjectId” | Export-Csv -NoTypeInformation -Encoding UTF8 -Path “ファイルの保存先パス\ファイル名.csv”
[実行例] Get-MsolGroupMember -groupObjectid “aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee” | Export-Csv -NoTypeInformation -Encoding UTF8 -Path “C:\TEMP\SecurityGroupMember.csv”

 

(2) セキュリティ グループに複数のメンバーを一括で追加する

●事前にメンバーの一覧を CSV ファイルにて作成します。
Name,Member
<追加するセキュリティグループ名>,<追加したいメンバー>
●CSV ファイルを作成される際には UTF-8 形式で保存します。
CSV ファイル作成例
Name,Member
Security001,user001@contoso.onmicrosoft.com
Security001,user002@contoso.onmicrosoft.com
Security001,user003@contoso.onmicrosoft.com
1. C ドライブ直下一時フォルダ内の sample01 という CSV ファイルを元にメンバーを追加するコマンドレットとなります。

[構文] Import-Csv <保存先のパス\ファイル名>|Foreach {Add-DistributionGroupMember -Identity $_.Name -Member $_.Member -BypassSecurityGroupManagerCheck}
[実行例] Import-Csv C:\temp\sample01.csv|Foreach {Add-DistributionGroupMember -Identity $_.Name -Member $_.Member -BypassSecurityGroupManagerCheck}

[参考] Title: Add-DistributionGroupMember
URL: https://technet.microsoft.com/ja-jp/library/bb124340(v=exchg.150).aspx