SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

コンピュータアカウントのパスワード、変更されたのは何時?

leave a comment

クライアントのコンピュータアカウントのパスワード格納場所

の続きとして投稿しようと思っていたのですが本日まで手付かずでした。
記憶も薄れつつあるのでここでまとめておきたいと思います。

以前の投稿で記載しましたがコンピュータアカウントのパスワードは

– [HKEY_LOCAL_MACHINESECURITYPolicySecrets$MACHINE.ACC]

に格納されているようです。

この中には [CupdTime] / [OupdTime] という 2 種類のキーがあり、この値に変更された日付が入っていそうです。
# 具体的なドキュメントは見つかっていないので [ここかな~] というレベルです。違っているかも・・・。

image

上記の画像が、キーの値を表示したものになります。

4a 30 31 af 44 30 ca 01

という値が入っていますがこのままでは何のことやらさっぱりです。

この値を日付に変換するためには [nltest.exe] を使用します。
[nltest.exe] は Windows 2000 Server / Windows Server 2003 のサポートツールに含まれています。

Windows 2000 SP4 サポート ツール
Windows Server 2003 Service Pack 2 32-bit Support Tools

Windows 7 / Windows Server 2008 R2 では標準で含まれていそうです。

このコマンドとレジストリの値を使用すると日付に変換することができます。
以下がコマンドの実行結果です。

nltest /time:af31304a 01ca3044
af31304a 01ca3044 = 9/8/2009 14:24:48
コマンドは正常に完了しました

レジストリに設定されている値を以下の順で変換します。

  1. 値を 8 桁 + 8 桁にします。
    4a 30 31 af 44 30 ca 01
  2. 値を 2 桁一組として逆から並べ替えます
    af31304a 01ca3044

この値を使用して nltest を実行すると日付が取得できます。
# 最初のブロックと最後のブロックの間には半角スペースを入れます。
今回の値だと [2009/9/8 14:24:48] になりますね。

このタイミングでドメインに参加をさせていますので、コンピュータアカウントのパスワード変更日付の
設定値としては有効かなと思います。

ADSI エディットを使用して、コンピュータアカウントの [pwdLastSet] を確認すると以下の値が設定されています。

[2009/9/8 14:24:49]

image

コンピュータのレジストリの値とほぼ同一の時刻が設定されています。

上記画像は Windows Server 2008 の ADSI エディットで表示したものですが、残念ながら 2008 より前の
ADSI エディットでは日付で表示されません。
下の画像は Windows 2000 Server の ADSI エディットを使用して [pwdLastSet] を取得したものです。

image

[128968610899088750]

このままだと何の値かわからないですよね・・・。
これも日付に変換することが可能です。

  1. 16 進数に変換できる電卓を実行します。
    # 2008 までは関数電卓 / R2, 7 ではプログラマ電卓で変換できます。
     image
  2. 10 進数の状態で、[pwdLastSet] の値を貼り付けます。
    image
  3. 16 進数に変換します。
    image 

    そうすると

    1CA3044AFD0D56E

    という値に変換ができます。これを [nltest.exe] で実行できる形式に変換します。

  4. 最初に [0] をつけます。
    01CA3044AFD0D56E
  5. 8 桁 + 8 桁に分割します。
    01CA3044 AFD0D56E
  6. 最初のブロックと最後のブロックを入れ替えます。
    AFD0D56E 01CA3044

これで値の変換は完了です。
変換した値を使用して [nltest.exe] を実行してみます。

nltest /time:AFD0D56E 01CA3044
afd0d56e 01ca3044 = 9/8/2009 14:24:49
コマンドは正常に完了しました

2008 の ADSI エディットと同じ値が取得できました。

Mechanics of User Identification and Authenication: Fundamentals of Identity Management

という書籍にこの辺の内容が書かれていそうなのですが英語なのとお値段がそれなりにするので買えていません・・・。
面白そうな本なのでどこかで読んでみたいとは思っているのですが。

AD 関連では備忘録としていくつか残しておきたいことがあるので時間を見て少しずつ投稿していきたいと思います。

Written by masayuki.ozawa

9月 15th, 2009 at 1:59 pm

Posted in Active Directory

Leave a Reply

*