PowerQueryを使って、Active Directory上の上司設定などを漏れなくチェックする方法

コンピューター、サーバーネットワーク関連のアイキャッチ画像 IT知識・技術

PowerQueryを使って、Active Directory上の上司設定などを漏れなくチェックする方法

社内のユーザー管理でよくある課題のひとつに、Active Directoryの上司(manager属性)設定が正しく入っていない、または一部ユーザーだけ空欄になっているといったケースがあります。
承認フローや組織図の自動生成に利用するため、上司設定の抜け漏れは業務に影響します。
今回はPower Query(Excel標準機能)を使って、AD上のユーザー情報を一覧化し、上司設定を含む項目を漏れなくチェックする方法をまとめました。

1. 前提条件

  • Active Directoryにアクセスできる環境(ドメイン参加PC + 適切な認証)
  • Excel(またはPower BI Desktop)が利用可能でPower Queryが搭載されていること
  • 取得したい属性(DisplayName, SamAccountName, Department, Title, Manager など)を把握しておくこと

2. ADデータの取得方法

大きく分けて以下の2つの方法があります。

  • CSV経由:PowerShellでエクスポートしたCSVをPower Queryで読み込む
  • Active Directoryコネクタ:Excel/Power BIのコネクタから直接ADを参照

2-1. CSV経由での取得

PowerShellから必要項目を抽出してCSVに出力し、それをPower Queryで読み込む方法です。

Get-ADUser -Filter * -Properties DisplayName,SamAccountName,Department,Title,Manager |
  Select-Object DisplayName,SamAccountName,Department,Title,Manager |
  Export-Csv C:\Temp\AD_Users.csv -NoTypeInformation -Encoding UTF8
  

その後、Excel → データ → データの取得 → テキスト/CSV から読み込みます。

2-2. Active Directoryコネクタで直接参照

管理者権限がありドメイン参加PCから操作できる場合は、Power Queryの「Active Directory」コネクタを使うと便利です。

  1. Excelを開き、[データ] → [データの取得] → [その他のソース] → [Active Directory] を選択。
  2. ドメイン名(例:corp.local)を入力。
  3. 認証方法を「Windows認証」で指定。
  4. ADのスキーマが表示されるので、User テーブルを選択。
  5. 必要な属性(DisplayName, Department, Managerなど)を展開。

これによりCSVを介さず、常に最新のADデータを直接Power Queryに取り込むことができます。
ただし、大規模ADでは処理が重くなる場合があるため、必要な列や条件を絞って使うのがおすすめです。

3. 上司設定の有無をチェックする

次に「Manager」列の空欄や不正値を確認できるように加工します。

  • Power Queryのメニュー「列の追加」→「条件列」を選択
  • 条件:もし Manager 列が null または空白なら「未設定」、それ以外は「設定済」
if [Manager] = null or Text.Trim([Manager]) = "" then "未設定" else "設定済"

4. Manager名を見やすく整形する

Manager列は「CN=山田太郎,OU=Users,DC=example,DC=com」のような形式になることがあります。
Power Queryのテキスト関数で名前部分だけを抽出できます。

Text.BetweenDelimiters([Manager], "CN=", ",")

5. レポート出力と活用

  1. 加工が終わったら「閉じて読み込む」でExcelシートに展開。
  2. 「上司設定ステータス = 未設定」でフィルタすれば、漏れのあるアカウントを一目で把握可能。
  3. 部署ごとの件数をピボットテーブルで集計すれば、どの部署に設定漏れが多いか可視化できます。

6. 運用上のポイント

  • CSV経由は「権限が限られているユーザー」に共有しやすい。
  • 直接参照は「管理者がリアルタイムでチェックしたいとき」に便利。
  • 大規模環境ではパフォーマンスを考慮して、対象OUやフィルタを指定して抽出するとよい。

まとめ

Power Queryを使えば、Active Directoryの上司設定(manager属性)の有無を簡単にチェックできます。
CSV経由は権限のないユーザーでも扱いやすく、Active Directoryコネクタはリアルタイム参照に向いています。
組織の運用に合わせて両者を使い分けることで、上司設定の抜け漏れを効率的に把握し、承認ルートや組織図の整合性を維持できます。


補足:Azure AD(Entra ID)の場合は、Graph API を利用して取得 → Power Query に接続する必要があります。

コメント

タイトルとURLをコピーしました