組織内の監査対応(SOX)のため、定期的にActive Directory(AD)内のユーザーアカウントのステータスチェックが必要なため、ExcelにADからデータを取得するクエリをPower Queryで作成しました。
今回は、AD内の特定のグループに所属しているメンバーを一覧で表示する必要があるので、その手順について説明します。
なお、AD上でCSVファイルで書き出し(エクスポート)する手順についてはこちらに以前の記事がありますのでご参照ください。
作業環境
- オンプレミスのドメイン環境下・同一ネットワーク内にあるPCで実施
- DCはWindows Server 2016
- Officeは365 Proplusを使用
作業手順
- Excelを開き、「データ」タブ→「データの取得」→「その他のデータソースから(O)」→「Active Directoryから(A)」の順に押下
- ドメイン名を入力しOKを押下※表示されない場合は、ドメインネットワーク内に接続済かどうか確認してください。
- Microsoftアカウントなど、認証を求められた場合は、環境に応じて認証できるアカウント情報を入力し、接続を押下
- ナビゲーター内のドメイン名のツリーを開き、groupを検索し選択(検索できない場合はツリーを展開していき直接選択)
- ナビゲーター ダイアログ右下「データの変換」を押下すると、Power Queryエディターが展開されるので、「distinguishedName」列(通常は一番右側)のプルダウンを開き、「テキスト フィルター」→「指定の値を含む」を選択
- 行のフィルター ダイアログ内「指定の値を含む」が選択されているプルダウン右側のテキストボックスに対象のグループ名を入力し「OK」を押下
- 対象のグループにフィルタされて表示されたら、group行右端の展開アイコンをクリックし、「member」をチェック
- group.member列が追加されるので、また展開アイコンをクリックし「新しい行に展開する」を押下
- 展開されたら列名のところで右クリックし、「列のピポット解除」を選択
- 「値」の列が追加されるので、列の展開アイコンからdisplayNameもしくはsAMAccountNameを選択(画像ではsAMAccountNameを選択)
- 該当グループのユーザー名の一覧が表示されます
- 不要な列を削除し、「閉じて読み込む」を押下
- Excelファイルにクエリの書き出しが始まり、少し待つとデータが書き出されます
- 上記作業後は「データ」タブ→「すべて更新」を押下するとADの最新の状態を同期することができます。「
コメント
[…] 以前、特定グループに含まれるユーザー一覧の出力や、Excelのセルに出力させたりする方法を紹介しましたが、今回はサーバーに直接アクセスした上で、コマンドプロンプト上のコマンド入力にて、ユーザー+プロパティを一覧出力させる方法を紹介したいと思います。 […]
[…] 以前の記事でActive DirectoryからPower Queryで特定のグループに含まれるユーザー一覧を出力する方法について紹介しましたが、今回は、この一覧から更に各ユーザーのプロパティ(属性)も […]