MENU

所属するグループ一覧の取得スクリプト

以下のスクリプトは、CSV ファイルを読み込み、CSV ファイルにリストされているユーザーが所属するグループ(DistributionGroup)の一覧を CSV ファイルに出力するための PowerShell スクリプトです。

目次

スクリプト実行の流れ

  1. Exchange Online に接続: スクリプトを実行する前に、Exchange Online に接続する必要があります。
  2. CSV ファイルの読み込み: 入力 CSV ファイルからユーザーのリストを読み込みます。
  3. ユーザーのグループを取得: 各ユーザーの所属グループを取得します。
  4. 結果を CSV ファイルに出力: ユーザーとその所属グループを出力 CSV ファイルに書き込みます。

PowerShell スクリプト

# 1. Exchange Online に接続
Connect-ExchangeOnline

# 2. 入力 CSV ファイルのパス
$inputCsvPath = "path\to\input.csv"

# 3. 出力 CSV ファイルのパス
$outputCsvPath = "path\to\output.csv"

# 4. 入力 CSV ファイルを読み込む
$users = Import-Csv -Path $inputCsvPath
$i = 0
$num = @($users).Count

# 5. 各ユーザーのグループを取得
foreach ($user in $users) {
    $userPrincipalName = $user.UserPrincipalName
    $DN = Get-User -Identity $userPrincipalName | select DistinguishedName
    $DN = $DN.DistinguishedName
    $groups = Get-Recipient -Filter "Members -eq '$DN'"
    if($groups){
        $groupmember_info = New-Object -TypeName PSObject
        foreach ($group in $groups) {
            $group_name = $group.Name
            $groupmember_info | Add-Member -TypeName string -MemberType NoteProperty -Name "User" -Value $userPrincipalName -Force
            $groupmember_info | Add-Member -TypeName string -MemberType NoteProperty -Name "Group" -Value $group_name -Force

            # 6. 結果を出力 CSV ファイルに書き込む
            $groupmember_info | select * | Export-Csv -Append -Path $outputCsvPath -Encoding UTF8 -NoTypeInformation -Force
        }
    }
    Write-Host "所属しているグループの確認が完了しました。($i / $num)"
}


    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    目次