こんにちわ、cloudpack磯辺和彦です。

一連のActive Directoryの構築と検証を行なっている時に、あるタイミングから"Preauthentication failed"というエラーがでて、ADドメインユーザでログインができなくなってしまった。色々と調べていたら、ADサーバのタイムゾーンが、JSTからUTCに戻ってしまっていることが分かり、JSTに再設定したところ、問題が解消された。

なぜタイムゾーンがUTCに戻ったんだろうと疑問に思ってつぶやいたら、mayukiより、アドバイスをもらった。

まさにその通りで、インスタンスをstop & startを実施したりしていた。このドキュメントによると、この動作を抑止することができるようなので、設定を行う。

コマンドプロンプトを開き、下記のコマンドを実行すれば良い。

reg add "HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

結果を確認したければ、下記のコマンドを実行して出力を確認する。RealTimeIsUniversalの値が、REG_DWORDで1になっている。

reg query "HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation" /s

HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation
    DaylightBias    REG_DWORD    0x0
    DaylightName    REG_SZ    @tzres.dll,-631
    StandardStart    REG_BINARY    00000000000000000000000000000000
    StandardBias    REG_DWORD    0x0
    StandardName    REG_SZ    @tzres.dll,-632
    Bias    REG_DWORD    0xfffffde4
    DaylightStart    REG_BINARY    00000000000000000000000000000000
    TimeZoneKeyName    REG_SZ    Tokyo Standard Time
    DynamicDaylightTimeDisabled    REG_DWORD    0x0
    ActiveTimeBias    REG_DWORD    0x0
    RealTimeIsUniversal    REG_DWORD    0x1

これで問題ないようだ。

元記事はこちらです。
[AWS][Windows] EC2のWindows Server 2008以降はインスタンスの再起動を行うとタイムゾーンがUTCにリセットされる、その対処法