Microsoft Entra IDにおける認証方法とゲストユーザー管理情報一覧の取得方法

2026.10.30




はじめに

「社内の人は、どんなサインイン方法を登録しているのか」「外部から招いた人(ゲスト)のアカウントは、いま有効なのか」 Microsoft Entra IDを運用していると、こうした確認を求められることがあります。

この記事では、管理画面の情報をExcelの表にまとめる方法を紹介します。画面操作ごとにスクリーンショットを付けています。 Microsoft Entra IDを管理する情シス担当者の方が、手順をたどれる内容です。

完成形の認証方法一覧。ユーザーごとに登録済みの認証方法が並んでいます。

認証方法一覧(AuthMethods)

完成形のゲストユーザー状態一覧。ユーザーごとにアカウントの有効状態が並んでいます。

ゲストユーザー状態一覧(GuestUserStatus)

この記事では、これらの一覧表を取得する方法を順に説明します。

この記事で行う作業は、次の3つです。

  • 管理センターから、ユーザー情報と認証方法の登録情報をCSV(カンマで区切った表形式のファイル)で書き出す
  • CSVを、確認しやすい2つの表に整える
  • Excelで開いて、一覧として確認する

ご注意: CSVを整える工程では、整形用スクリプト(Export-EntraReports.ps1)を使います。スクリプトの全文は、第5章に掲載しています。スクリプトを使わず、書き出した2つのCSVをExcelで直接開く方法も、第5章で簡単に紹介します。


1. 前提条件と全体の流れ

前提条件

  • Microsoft Entra管理センターにサインインできること
  • ユーザー情報や認証方法の登録情報をダウンロードできる管理者権限があること(必要なロールは公式ドキュメントでご確認ください)
  • Excelが使えるPC
  • CSVを整形する場合は、PowerShell(Windowsに付属する、文字でコマンドを入力する画面)と、第5章のスクリプトを保存するテキストエディタ

全体の流れ

章 作業 作業場所 出力されるもの
2 ユーザー一覧のダウンロード Microsoft Entra管理センター(ユーザー) exportUsers_日付.csv
3 認証方法の登録情報のダウンロード Microsoft Entra管理センター(認証方法) exportUserRegistrationDetails_日付.csv
4 ジョブの確認 Microsoft Entra管理センター(一括操作) ジョブの状態「成功」
5 CSVの整形 PowerShell AuthMethods_日付.csv と GuestUserStatus_日付.csv
6 一覧の確認 Excel 認証方法一覧とゲストユーザー状態一覧

2. ユーザー一覧をCSVでダウンロードする

まず、ユーザー一覧に表示する列を確認します。そのうえで、CSVを書き出します。

2-1. すべてのユーザーを開く

Microsoft Entra管理センターの左メニューで「ユーザー」をクリックします。

Microsoft Entra管理センターの左メニューで「ユーザー」をクリックします。

2-2. 表示する列を確認する

ユーザー一覧の上部にある「ビューの管理」をクリックします。

「ビューの管理」をクリックします。

メニューが開きます。 「列の編集」をクリックします。

「ビューの管理」のメニューで「列の編集」をクリックします。

右側に「列の編集」パネルが開きます。「ユーザーの種類」の列を追加します。メンバーかゲストかを見分けるための列です。パネルで「ユーザーの種類」にチェックを入れます。

「列の編集」パネルで「ユーザーの種類」があることを確認します。

「アカウントが有効化されました」の列も追加します。アカウントが有効かどうかを確認するための列です。こちらもパネルでチェックを入れます。

「列の編集」パネルで「アカウントが有効化されました」があることを確認します。

パネルの下部にある「列の追加」から、列を足すこともできます。内容を確認したら、「保存」をクリックします。

「保存」をクリックします。

2-3. ユーザーをダウンロードする

上部メニューの「ユーザーをダウンロード (プレビュー)」をクリックします。

「ユーザーをダウンロード (プレビュー)」をクリックします。

右側にパネルが開きます。ここに表示されるファイル名は、変更せずそのまま使ってください。後の手順で、このファイル名のCSVを使います。「一括操作の開始」をクリックします。

「一括操作の開始」をクリックします。

3. 認証方法の登録情報をCSVでダウンロードする

次は、ユーザーごとの認証方法の登録状況を書き出します。認証方法とは、サインインのときに本人確認に使う手段のことです。 Microsoft Authenticatorアプリ、SMS、パスキーなどがあります。

3-1. ユーザー登録の詳細を開く

左メニューの「認証方法」をクリックします。

左メニューの「認証方法」をクリックします。

認証方法の画面が開きます。左側の「監視」にある「ユーザー登録の詳細」をクリックします。

「ユーザー登録の詳細」をクリックします。

3-2. 表示する列を確認する

上部の「列」をクリックします。

「列」をクリックします。

右側に列の一覧が開きます。「既定の多要素認証方法」に、このようにチェックを入れます。

「既定の多要素認証方法」にチェックを入れます。

確認したら、「保存」をクリックします。

「保存」をクリックします。

3-3. ダウンロードする

上部の「ダウンロード」をクリックします。

「ダウンロード」をクリックします。

右側に「一括ジョブの既定値」パネルが開きます。ここに表示されるファイル名は、変更せずそのまま使ってください。後の手順で、このファイル名のCSVを使います。「一括操作の開始」をクリックします。

「一括操作の開始」をクリックします。

4. 一括操作でダウンロードジョブを確認する

画面右上に「成功しました!」と表示されたら、ジョブの送信は完了です。左メニューの「監視と正常性」を開き、「一括操作」をクリックして結果を確認します。

左メニューの「監視と正常性」にある「一括操作」をクリックします。

一括操作の一覧に、2件のジョブが表示されます。どちらも状態が「成功」であることを確認します。ファイル名のリンクからCSVを取得します。この例では、ブラウザの「ダウンロード」フォルダに保存されたファイルを、次の章で作業用フォルダに移動します。

一括操作の一覧で、2件のジョブの状態が「成功」であることを確認します。

5. PowerShellで2つのCSVを整形する

まず、スクリプトを実行しない場合を見てみます。ダウンロードした2つのCSVを、第6章の手順でExcelに読み込むと、次のように表示されます。そのままでは、必要な情報を探すために、フィルターで絞り込む作業が必要です。どちらも列が多く、「どの列を見ればよいのか」が分かりにくい状態です。

スクリプト実行前の認証方法のCSV。内部名や日時など、情報量の多い列が並んでいます。

認証方法のCSV(整形前)

スクリプト実行前のユーザー一覧のCSV。メンバーとゲストが混在しています。

ユーザー一覧のCSV(整形前)

そこで、整形用のPowerShellスクリプトを実行します。必要な情報だけを残した2つのCSVが作られ、冒頭で示した「認証方法一覧」と「ゲストユーザー状態一覧」のように、すっきりした表になります。スクリプトの全文は、5-1に掲載しています。ボタンを押すと、全文を一括でコピーできます。

スクリプトは、実行したあとに2つのCSVのファイル名を入力する作りになっています。ファイル名は、ダウンロードしたものを変更せずにそのまま入力します。

作業用の excel フォルダは、あらかじめ作っておきます。画面のファイル名にある日付は、CSVをダウンロードした日付です。

5-1. スクリプトを用意する

次のスクリプトを、Export-EntraReports.ps1 というファイル名で、作業用の excel フォルダに保存します。メモ帳などのテキストエディタに貼り付けて保存できます。文字コードは UTF-8 にしてください。

このスクリプトは、次の2つのCSVを作ります。

  • AuthMethods_日付.csv: ユーザーごとの認証方法の一覧。mobilePhone や microsoftAuthenticatorPush などの内部名は、SMS や Microsoft Authenticator のような読みやすい名前に変換します。
  • GuestUserStatus_日付.csv: ゲストユーザーのアカウントが有効か無効かの一覧。ユーザー名に #EXT# を含むユーザーをゲストとして扱います。

下のコードをクリックすると全体が選択されます。そのままCtrl+C(Macの場合はCmd+C)でコピーできます。

param(
    [Parameter(Mandatory = $true)]
    [string]$UserFile,

    [Parameter(Mandatory = $true)]
    [string]$AuthFile
)

# ============================================
# 出力ファイル名作成
# ============================================

$BaseName = [System.IO.Path]::GetFileNameWithoutExtension($UserFile)
$DatePart = $BaseName.Replace("exportUsers_", "")

$AuthOutputFile = "AuthMethods_$DatePart.csv"
$GuestOutputFile = "GuestUserStatus_$DatePart.csv"

# ============================================
# CSV読込
# ============================================

$Users = Import-Csv $UserFile
$Auths = Import-Csv $AuthFile

# ============================================
# 認証方法変換テーブル
# ============================================

$MethodMap = @{
    "mobilePhone"                        = "SMS"
    "microsoftAuthenticatorPush"         = "Microsoft Authenticator"
    "softwareOneTimePasscode"            = "OTP"
    "windowsHelloForBusiness"            = "Windows Hello for Business"
    "microsoftAuthenticatorPasswordless" = "Authenticator Passwordless"
    "fido2SecurityKey"                   = "FIDO2 Security Key"
    "email"                              = "Email"
    "temporaryAccessPass"                = "Temporary Access Pass"
    "password"                           = "Password"
}

# ============================================
# 認証方法情報を辞書化
# ============================================

$AuthLookup = @{}
$MaxMethodCount = 0

foreach ($Auth in $Auths)
{
    $Methods = @()

    if ($Auth.methodsRegistered)
    {
        $MethodsText = $Auth.methodsRegistered
        $MethodsText = $MethodsText.Replace('[','')
        $MethodsText = $MethodsText.Replace(']','')
        $MethodsText = $MethodsText.Replace('"','')

        foreach ($Method in ($MethodsText -split ","))
        {
            $Method = $Method.Trim()

            if ($Method -eq "")
            {
                continue
            }

            if ($MethodMap.ContainsKey($Method))
            {
                $Methods += $MethodMap[$Method]
            }
            else
            {
                $Methods += $Method
            }
        }
    }

    if ($Methods.Count -gt $MaxMethodCount)
    {
        $MaxMethodCount = $Methods.Count
    }

    $AuthLookup[$Auth.userDisplayName] = $Methods
}

# ============================================
# AuthMethods.csv作成
# ============================================

$AuthResult = foreach ($User in $Users)
{
    $Methods = @()

    if ($AuthLookup.ContainsKey($User.displayName))
    {
        $Methods = $AuthLookup[$User.displayName]
    }

    $Row = [ordered]@{
        UserName = $User.displayName
    }

    for ($i = 0; $i -lt $MaxMethodCount; $i++)
    {
        $ColumnName = "Method$($i + 1)"

        if ($i -lt $Methods.Count)
        {
            $Row[$ColumnName] = $Methods[$i]
        }
        else
        {
            $Row[$ColumnName] = "-"
        }
    }

    [PSCustomObject]$Row
}

$AuthResult |
    Sort-Object UserName |
    Export-Csv `
        -Path $AuthOutputFile `
        -NoTypeInformation `
        -Encoding UTF8

# ============================================
# GuestUserStatus.csv作成
# ============================================

$GuestResult = foreach ($User in $Users)
{
    if ($User.userPrincipalName -notlike "*#EXT#*")
    {
        continue
    }

    $Status = if ($User.accountEnabled -eq "True")
    {
        "Enabled"
    }
    else
    {
        "Disabled"
    }

    [PSCustomObject]@{
        UserName      = $User.displayName
        AccountStatus = $Status
    }
}

$GuestResult |
    Sort-Object UserName |
    Export-Csv `
        -Path $GuestOutputFile `
        -NoTypeInformation `
        -Encoding UTF8

Write-Host ""
Write-Host "=================================="
Write-Host "Completed"
Write-Host "=================================="
Write-Host "Created Files:"
Write-Host $AuthOutputFile
Write-Host $GuestOutputFile
Write-Host "=================================="
Write-Host ""

5-2. 作業フォルダに移動する

PowerShellを開き、作業用の excel フォルダへ移動します。

cd excel
PowerShellで作業用フォルダへ「cd excel」と入力して移動します。

5-3. ダウンロードしたCSVを移動する

ダウンロードフォルダにある2つのCSVを、作業フォルダ(.)へ移動します。 .. は、1つ上のフォルダを表します。ファイル名は変更せず、ダウンロードしたままの名前で移動します。

mv ..\Downloads\exportUsers_2026-10-26.csv .
mv ..\Downloads\exportUserRegistrationDetails_2026-10-26.csv .
ダウンロードフォルダのCSV2件を作業フォルダへ移動します。

5-4. ファイルを確認する

ls コマンドで、フォルダ内のファイルを確認します。 Export-EntraReports.ps1 と、2つのCSVが並んでいればOKです。

ls
「ls」と入力して、スクリプトと2つのCSVがあることを確認します。

5-5. スクリプトを実行する

スクリプトを実行します。

.\Export-EntraReports.ps1

実行すると、「次のパラメーターに値を指定してください」と表示され、ファイル名の入力を求められます。次のとおりに入力します。どちらも、拡張子の .csv まで、ダウンロードしたとおりに入力します。

  • UserFile: ユーザー一覧のCSV(exportUsers_…)
  • AuthFile: 認証方法の登録情報のCSV(exportUserRegistrationDetails_…)

入力すると、処理が実行されて「Completed」と表示されます。続けて「Created Files:」の下に、次の2ファイルが出力されます。

  • AuthMethods_2026-10-26.csv: ユーザーごとの認証方法の一覧
  • GuestUserStatus_2026-10-26.csv: ゲストユーザーのアカウント状態の一覧

出力されたファイルは、スクリプトと同じ作業用の excel フォルダに保存されます。

「UserFile」と「AuthFile」にファイル名を入力すると、「Completed」と出力された2つのファイル名が表示されます。

出力された2つのCSVを第6章の手順でExcelに読み込むと、冒頭の画像のような表になります。整形前に比べて、必要な列だけが並び、認証方法も読みやすい名前に変わっています。

5-6. スクリプトを使わない場合

スクリプトを使わない場合は、この章の5-1〜5-5を飛ばせます。 書き出した exportUsers_日付.csv と exportUserRegistrationDetails_日付.csv を、第6章の手順でExcelに直接読み込みます。読み込んだら、Excelのフィルターで絞り込みます。

  • ユーザー一覧のCSVでは、画面で確認した「ユーザーの種類」と「アカウントが有効化されました」の列を見ます。「ユーザーの種類」で絞ると、ゲストだけを確認できます。
  • 認証方法のCSVでは、画面で確認した「既定の多要素認証方法」の列を見ます。

CSVの列名は、画面の表示と異なる場合があります。読み込んだあと、1行目の見出しを確認してください。

6. ExcelでCSVを開いて確認する

CSVをダブルクリックして開くと、文字や区切りが意図どおりに表示されない場合があります。そのため、この手順ではExcelの「テキストファイルウィザード」を使って開きます。

6-1. 認証方法の一覧(AuthMethods)を開く

Excelの「開く」画面で、「参照」をクリックします。(Excelの「ファイル」タブから「開く」を選んでも表示できます。)

Excelの「開く」画面で「参照」をクリックします。

「ファイルを開く」画面が表示されます。ファイルの種類のドロップダウンで、「すべてのファイル」を選択します。こうすると、CSVが一覧に表示されます。

ファイルの種類のドロップダウンで「すべてのファイル」を選択します。

AuthMethods_2026-10-26 を選択します。

AuthMethods_2026-10-26 を選択します。

テキストファイルウィザードの1/3が開きます。「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」が選ばれています。「次へ」をクリックします。

テキストファイルウィザード1/3で「次へ」をクリックします。

2/3の画面では、区切り文字の「コンマ」にチェックが入っていることを確認します(画面ではタブにもチェックが入っていますが、そのままで問題ありません)。下のプレビューで、UserName、Method1 などの列に分かれていれば、正しく区切れています。確認したら、「完了」をクリックします。

区切り文字の「コンマ」にチェックが入っていることを確認し、「完了」をクリックします。

シートに一覧が表示されます。 列は UserName、Method1 から Method6 までです。 ユーザーごとに、登録済みの認証方法が Method1 から順に入っています。この例のデータでは、Microsoft Authenticator、OTP、SMS などの値や、未登録を示す - が確認できました。

Excelに AuthMethods の一覧が表示されたことを確認します。

6-2. ゲストユーザーの状態一覧(GuestUserStatus)を開く

「ファイルを開く」画面までの手順は、6-1の認証方法の一覧と同じです。「参照」をクリックし、「すべてのファイル」を選び、ウィザードの1/3で「次へ」、2/3で「コンマ」を確認して「完了」をクリックします。違うのは、選ぶファイルだけです。 GuestUserStatus_2026-10-26 を選択します。

GuestUserStatus_2026-10-26 を選択します。

シートに、UserName と AccountStatus の2列が表示されます。 この例のデータでは、表示されたゲストユーザーの AccountStatus はすべて Enabled でした。 Enabled は、アカウントが有効という意味です。サインインの実績(最近使われているか)は、この表からは分かりません。実績は、別途サインインログなどで確認します。

Excelに GuestUserStatus の一覧が表示されたことを確認します。

7. トラブルシュート

症状 確認すること
Excelで開くと文字化けする テキストファイルウィザード1/3の「元のファイル」が「65001 : Unicode (UTF-8)」になっているか確認します
1列にすべての値が入ってしまう ウィザード2/3で「コンマ」にチェックが入っているか確認します
CSVが「ファイルを開く」に表示されない ファイルの種類を「すべてのファイル」に変更します
一括操作の一覧にジョブが出ない 「監視と正常性」の「一括操作」を開き、「最新の情報に更新」をクリックします
スクリプトでエラーが出る 2つのCSVが作業フォルダにあるか、ls で確認します。実行ポリシー(スクリプトの実行を許可するかを決めるWindowsの設定)など、環境の設定もご確認ください

8. まとめ

ポイントは次の3つです。

  • 管理センターの「ユーザー」と「認証方法 > ユーザー登録の詳細」から、CSVを2つ書き出せます。
  • 書き出したCSVは、第5章のスクリプトで AuthMethods と GuestUserStatus の2つにできます。スクリプトを使わなくても、Excelで直接開いて確認できます。
  • Excelでは「すべてのファイル」からCSVを選び、テキストファイルウィザードでコンマ区切りにすると、見やすく確認できます。

次のアクションとして、まずは自社のテナントで第2章と第3章のCSV出力を試してみてください。定期的に出力しておくと、棚卸し(誰がどの状態かを一覧で洗い出して確認すること)の資料づくりが楽になります。なお、ゲストユーザーは公式ドキュメントでは「B2Bコラボレーション」のユーザーとして説明されています。詳しくは、参考のリンクをご覧ください。

この記事では、Microsoft Entra管理センターからのCSV出力、PowerShellでの整形、Excelでの一覧化までの手順を解説しました。

認証方法やゲストユーザーの棚卸しは、テナントの規模が大きくなるほど手作業では追いきれなくなります。YJKでは、Microsoft Entra IDの運用設計や定期レポートの仕組みづくりを支援しています。お困りの際は、お気軽にご相談ください。

参考