ADサーバのメンテで使われていないドメインユーザを整理することにしました。ユーザーアカウントの利用状況するため、ログインした回数、最後にログインした時間を確認してみます。
csvdeコマンドでADユーザのリストを出力
ドメインコントローラのサーバ上でADユーザのリストを出力するコマンドを実行します。
csvde -u -f .¥パス¥ファイル名.csv -r objectCategory=user
ドメインユーザーの情報が色々と出力可能です。csvdコマンドの詳細
csvdeのユーザリストCSVをExcelで開く
CSVで出力されたユーザリストは”(ダブルコーテーション) & ,(カンマ)区切りのため、ここから先はExelで操作します。
- メニューバー[データ]→[データの取得と変換|テキストまたはCSVから]を選択
- CSVデータの区切りは自動で判別してくれるので、[読み込み]
- 後は余計な列を非表示にしつつ、[logonCount]と[lastLogonTimestamp]を残します。
logonCountは過去にログインした回数、lastLogonTimestampは最後のログインした日時を表しています。lastLogonTimestampはADの環境によって14日程度ずれる場合があります。
しかしlastLogonTimestampはNTタイムエポック値というタイムスタンプ形式の数値のため、Excelの計算式と書式で可読できるよう変換する必要があります。
lastLogonTimestampの値を日時に変換する
右端のAR列にYYYY/MM/DD HH:MMで表示させてみましょう。
lastLogonTimestamp(NTタイムエポック値)の計算式
NTタイムエポック値の計算式です。
=[@lastLogonTimestamp] / (8.6410^11) – 109205 + (1/24)9
※計算式は他にもネットを見ると色々と書かれています。
/ (10 * 1000 * 1000 * 60 * 60 * 24) – 109205 + 0.375 とか
後はExceの書式設定でYYYY/MM/DD HH:MMに変換してあげます。
Excelの書式設定でYYYY/MM/DDに表示に切り替える
- AR列を右クリックし[セルの書式設定]を選択
- [表示形式]タブ- 分類[日付] – 種類[yyyy/mm/dd hh:mm]を選択
- AR列に最終のログイン日時が割り出せました。
これで最近使われていないユーザ、未使用のユーザを判別してメンテできそうです。
コメント