Microsoft365グループにアカウントを一括追加する方法について記載する。
検証環境について
動作確認した検証環境は以下の通り。
OS:Microsoft Windows 11 Enterprise
OSbuildバージョン:10.0.22621
PowerShellのバージョン:7.4.0
GraphPowershellのモジュール名とバージョン
Microsoft.Graph.Authentication 2.11.1
Microsoft.Graph.Identity.DirectoryManagement 2.11.1サインインアカウントの権限はグローバル管理者。
使用するコマンド
Get-UnifiedGroupLinks
使用例
Get-UnifiedGroupLinks -Identity 365group001@365ps.jp -LinkType subscribers取得できる情報例
Name RecipientType
---- -------------
user001 UserMailbox
user002 UserMailbox
user003 UserMailboxAdd-UnifiedGroupLinks
使用例
Add-UnifiedGroupLinks -Links user001@365ps.jp -LinkType SubscribersCSVファイルを作成する
使用例
$csvSavePath = "$env:USERPROFILE\Desktop"
#CSVのファイル名
$csvFileName = "365GroupLinkList.csv"
$365GroupCSV = [PSCustomObject]@{
PrimarySmtpAddress = $null
LinkType = $null
Links = $null
}
$365GroupCSV | Export-Csv -Path "${csvSavePath}\${csvFileName}" `
-Encoding utf8 -NoTypeInformationCSV記入例
| PrimarySmtpAddress | LinkType | Links |
|---|---|---|
| 365group001@365ps.jp | Members | user001@365ps.jp |
| 365group001@365ps.jp | Owners | user002@365ps.jp |
| 365group001@365ps.jp | Subscribers | user003@365ps.jp |
| 365group002@365ps.jp | Members | user001@365ps.jp |
CSVを読み込みMicrosoft365グループにメンバーを追加する
#CSVの保存先を指定する
$csvSavePath = "$env:USERPROFILE\Desktop"
#読み込むCSVファイル名を指定する
$csvFileName = "365GroupLinkList.csv"
#編集したCSVファイルを読み込む
$365GroupLinkList = Import-Csv -Path "${csvSavePath}\${csvFileName}"
#ExchangePowerShellに接続する
Connect-ExchangeOnline -ShowBanner:$false
#読み込んだCSVの値の数だけ繰り返す
foreach($365GroupLink in $365GroupLinkList){
#OwnersもしくはSubscribersとして追加する場合は
#事前にMembersとして登録されている必要がある
#LinkTypeがMembersではない場合 = LinkTypeがOwnersかSubscribersの場合
if($365GroupLink.LinkType -eq "Owners" -or `$365GroupLink.LinkType -eq "Subscribers"){
#対象の365グループの役割:Membersのアカウントを取得する
$membersList = Get-UnifiedGroupLinks `
-Identity $365GroupLink.PrimarySmtpAddress `
-LinkType Members
#取得したMembersにアカウントが含まれていない場合
#Membersとして追加する
if($ownersList -notcontains $365GroupLink.Links){
Add-UnifiedGroupLinks `
-Identity $365GroupLink.PrimarySmtpAddress `
-Links $365GroupLink.Links `
-LinkType Members `
-Confirm:$false
}
}
Add-UnifiedGroupLinks `
-Identity $365GroupLink.PrimarySmtpAddress `
-LinkType $365GroupLink.LinkType `
-Links $365GroupLink.Links `
-Confirm:$false
}
#ExchangeOnlinePowerShellから切断する
Disconnect-ExchangeOnline -Confirm:$false問い合わせフォーム
リンク切れのご報告や、記載内容に不備がありましたら、お手数をおかけしますが
以下お問い合わせフォームからご報告をお願い致します。
コマンドの仕様確認やエラー内容の確認、対処方法については、ご契約されているMicrosoftかCSPへお問い合わせください。
※いただきました内容は確認させていただきますが、必ずしも回答をお約束するものではございません。






