- すべての配布グループとメールが有効なセキュリティグループのメンバーを確認する
- すべての Office365 グループのメンバーを確認する
- 動的配布グループのメンバーを出力する
- 指定したユーザーがメンバーとして登録されているグループを確認する
今回は、全グループに登録されているメンバーを一括で確認する方法として、Powershell のコマンドレットをご紹介していきたいと思います。
なお、配布グループとメールが有効なセキュリティグループは、Get-DistributionGroupMember、Office365 グループは、Get-UnifiedGroupLinks、動的配布グループは、Get-DynamicDistributionGroup とコマンドが別のものなので、グループごとにコマンドを実行する必要があります。
なお、動的配布グループについては、すべてのグループを一括ではできないため、グループごとに実行しないといけません。
以下にご紹介していきます。
すべての配布グループとメールが有効なセキュリティグループのメンバーを確認する
1.
$temp=foreach($i in Get-DistributionGroup){Get-DistributionGroupMember -Identity $i.PrimarySmtpAddress | Select @{n="GroupName";e={$i.DisplayName}},@{n="GroupType";e={$i.recipienttype}},DisplayName,PrimarySmtpAddress}
2.
$temp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path C:\temp\MLMember.Csv
※本例では CSV ファイルを C: ドライブ配下の Temp フォルダに MLMember.csv というファイル名で保存します。
<出力結果>
GroupName:グループ名
GroupType:グループの種類
・MailUniversalDistributionGroup : 配布グループ
・MailUniversalSecurityGroup : メールが有効なセキュリティグループ
DisplayName:メンバーの表示名
PrimarySmtpAddress:メンバーのアドレス
すべての Office365 グループのメンバーを確認する
1.
$Temp=foreach ($i in Get-UnifiedGroup -ResultSize Unlimited | where {$_.Grouptype -Like "Universal"}) {Get-UnifiedGroupLinks -Identity $i.PrimarySmtpAddress -ResultSize Unlimited -Linktype members | select @{n="UnifiedGroupName";e={$i.DisplayName}},@{n="UnifiedGroupMailAddress";e={$i.PrimarySmtpAddress}},DisplayName,PrimarySmtpAddress}
2.
$temp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path C:\temp\O365Member.Csv
※本例では CSV ファイルを C: ドライブ配下の Temp フォルダに O365Member.csv というファイル名で保存します。
<出力結果>
UnifiedGroupName : グループ名
UnifiedGroupMailAddress : グループのアドレス
DisplayName : メンバーのユーザー名
PrimarySmtpAddress : メンバーのアドレス
動的配布グループのメンバーを出力する
<構文>
1.
$DDG = Get-DynamicDistributionGroup -Identity <動的配布グループのメールアドレス>
2.
Get-Recipient -RecipientPreviewFilter $DDG.RecipientFilter | Export-Csv -NoTypeInformation -Encoding UTF8 -Path <ファイルパス\ファイル名>.csv
<実行例>
$DDG = Get-DynamicDistributionGroup -Identity test@contoso.com
Get-Recipient -RecipientPreviewFilter $DDG.RecipientFilter | Export-Csv -NoTypeInformation -Encoding UTF8 -Path C:\temp\Dynamic.csv
※本例では CSV ファイルを C: ドライブ配下の Temp フォルダに Dynamic.csv というファイル名で保存します。
また、補足ですが、指定したユーザーがどのグループに所属しているのか確認することもできますのでお試しください。
指定したユーザーがメンバーとして登録されているグループを確認する
1.
$Temp = foreach($i in get-mailbox -Identity <該当のユーザー名>){ $work="" ; $work = "members -like" + '"' +$i.DistinguishedName + '"'; Get-DistributionGroup -Filter $work |select @{n="username"; e={$i.DisplayName}},DisplayName,primarysmtpaddress,recipienttype }
2.
$temp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path C:\temp\UserMember.Csv
※本例では CSV ファイルを C: ドライブ配下の Temp フォルダに UserMember.csv というファイル名で保存します。
<出力結果>
username : 該当のユーザー名
DisplayName : グループ名
PrimarySmtpAddress : グループのアドレス
RecipientType : グループの種類
・MailUniversalDistributionGroup : 配布グループ
・MailUniversalSecurityGroup : メールが有効なセキュリティグループ