以前、特定グループに含まれるユーザー一覧の出力や、Excelのセルに出力させたりする方法を紹介しましたが、今回はサーバーに直接アクセスした上で、コマンドプロンプト上のコマンド入力にて、ユーザー+プロパティを一覧出力させる方法を紹介したいと思います。
検証環境:
Windows Server 2016 standard
作業手順
対象OUの確認
まずはサーバーにアクセスし、Active Directory Users and Computers(Active Directory ユーザーとコンピューター)を開き、対象のOUのアドレス(階層)を確認します。
- OUのあるディレクトリが不明な場合、「操作(A)」→「検索(i)…」の順に開き、検索のポップアップ内の「検索(D):」プルダウンで「組織単位(OUのこと)」を選択、「場所(N):」プルダウンで「全部のディレクトリ」を選び、「名前(A):」に検索したいOU名を入力し、「検索開始(I)」を押下し結果から対象OUを選択します。
- OUを開いたら、「オブジェクト」タブを開き、「オブジェクトの正規名(C):」のパスを確認し控えておきます。
コマンドプロンプトでコード入力
- サーバー上でコマンドプロンプトを起動し、ファイルの出力場所を決めます。
※cdコマンドで出力先に移動しておくか、又は出力コマンド内で出力先を指定することもできますが、今回は予めcdコマンドで出力場所に移動しておきます
- コマンドプロンプトに以下の形でコードを入力します。
csvde -u -f [出力されるファイル名.csv] -d "OU=[対象ユーザが含まれるOU],OU=[DCまでの途中階層のOU],DC=[セカンドレベルドメイン],DC=[トップレベルドメイン]" -r objectCategory=user -l [出力するプロパティ1],[出力するプロパティ2],
※対象ユーザーが含まれるOUが深い階層にある場合は、DC=[]の記述の前に途中のすべての階層のOUを記述する必要があります
※プロパティ名は「Active Directory ユーザーとコンピューター」機能の上部タブ「表示(V)」→「詳細(D)」を選択すると、ユーザーオブジェクトを開いたときに「属性エディター」というタブが表示されるので、そこから確認可能です。
コマンド記述例:csvde -u -f testexport.csv -d "OU=TESTOU,OU=Japan,DC=lifekeynotes,DC=com" -r objectCategory=user -l cn,distinguishedName,description,department,info,mail,facsimileTelephoneNumber,whenCreated,badPasswordTime,company,streetAddress,homePhone
- コマンド入力後、Enterを押すと処理が実行されます。
出力されたファイルを確認
- 処理が成功すると、以下のように処理件数が表示されます。The command has completed successfully(処理に成功しました)メッセージの後にdirコマンドで出力されたファイルが確認できます。
- Windowsエクスプローラーから開いても、以下のように確認可能です。
まとめ
定期的に提出が必要な監査用のリスト等の場合はExcelでデータソースの参照で抽出するのが良いかもしれませんが、スポットで手っ取り早くリストが欲しい場合はこちらのコマンドを使ったほうが良いかもしれません。記述例にあるプロパティもよく監査で求められる情報ですが、必要に応じて変えてみてください。お役に立てますと幸いです。
コメント