Windowsタイム サービスw32timeの問題のトラブルシューティング
摘要: Active DirectoryドメインでのWindowsタイム サービス(w32time)の問題。W32TM Resyncを使用して同期時刻を修正する方法、タイム サーバーを構成する方法、Windows ServerでW32TMコマンドを使用する方法。
症状
Windowsタイム サービスは、Active Directoryで重要です。既定では、Kerberos 認証では、ドメイン内のすべてのマシンのクロックが、タイム ゾーンの違いと夏時間に合わせて修正されたときに、相互に 5 分以内に同期する必要があります。クロックがこの範囲外のマシンは認証できず、ドメイン リソースにアクセスできません。
原因
ADドメイン内では、PDCエミュレーターのFSMOの役割を持つドメイン コントローラー(DC)は、ドメイン全体のプライマリー タイム サーバーです。ただし、ドメイン内のすべてのマシンがその時計をPDCエミュレーターと直接同期するわけではありません。他のDCはPDCエミュレーターと同期し、メンバー サーバーとクライアントはどのDCとも同期できます。この階層では、PDCエミュレーターは、パブリックNTPサーバーなどの外部のタイム ソースと同期するように構成された唯一のマシンである必要があります。ドメイン内のその他すべてのマシンは、ADと同期するように構成する必要があります。それ以外の設定を行うと、時計の同期が失われる可能性があります。
Windowsタイム サービスの仕組みの詳細についてはMicrosoftのドキュメント「Windowsタイム サービスの仕組み」を参照してください。
解决方案
問題の程度を判断します。
Windowsタイム サービスに関する問題のトラブルシューティングの最初のステップでは、影響を受けるマシンの数を確認する必要があります。1台のマシンのみの時刻が正しくない場合、問題を解決するために必要な手順は、ドメイン全体の時刻の問題を修正するために必要な手順とは異なります。
少数のマシンのみが影響を受ける場合:
- 影響を受けるマシンがWindows Vista以降を実行している場合は、次を実行します。
w32tm /query /sourceコマンド プロンプトで、影響を受けるマシンのタイム ソースを確認します。このコマンドがPDCエミュレーターで実行された場合にのみ、外部タイム ソースが出力されます。それ以外の場合は、このコマンドによりドメイン内のDC名が出力されます。 - 「
w32tm /query /statusコマンドは、マシンのタイムソースやその他の潜在的に有用な情報も表示します。「/verboseスイッチはさらに多くの情報を提供します。最初のコマンドと同様に、これらのスイッチはWindows Vista以降を実行しているマシンでのみ使用できます。 - 正しい時刻ソースが表示されている場合は、
w32tm /resyncをクリックして、マシンのクロックとタイム ソースの再同期を試みます。追加/rediscoverこのコマンドに切り替えると、マシンは最初にネットワーク タイム ソースを検出してから再同期を試みます。 - マシンのタイム ソースを変更するには、次の2つのコマンドのいずれかを使用できます。
w32tm /config /syncfromflags:DOMHIER /updateドメイン階層(AD)をタイム ソースとして使用するようにマシンを構成します。w32tm /config /syncfromflags:MANUAL /manualpeerlist:<list> /updateのタイム サーバーを使用するようにマシンを構成します<list>そのタイムソースとして。
メモ: 複数のタイム サーバーが<list>の場合は、スペースで区切る必要があり、リスト全体を引用符で囲む必要があります。
ドメイン全体が影響を受ける場合:
- ドメイン内のすべてのマシンの時刻が正しくない場合は、PDCエミュレーターが問題の原因となっている可能性が高くなります。次のコマンド:
netdom query fsmoコマンドを使用して、どの DC が PDC エミュレーターの役割を保持しているかを判断します。 - そのノードで
w32tm /query /sourcePDCエミュレーターのコマンド プロンプトを使用して、外部のタイム ソースと同期するように構成されていることを確認します。PDCエミュレーターはドメインのプライマリー タイム ソースであるため、PDCエミュレーターをドメインと同期するように構成しないでください。 - PDCエミュレーターが仮想マシン(VM)である場合は、ゲスト-ホスト間の時刻同期を無効にします。これを行う手順は、仮想化ホストで実行されているオペレーティング システムによって異なります。
- 1つ以上の外部タイム サーバーと同期するようにPDCエミュレーターを構成するには、次のコマンドを使用します。
w32tm /config /syncfromflags:MANUAL /manualpeerlist:<list> /updateメモ: 複数のタイム サーバーが<list>の場合は、スペースで区切る必要があり、リスト全体を引用符で囲む必要があります。
Windowsタイム サービスのレジストリー設定
「 w32tm 上記の手順で指定されたコマンドは、次のレジストリ キーの下にある Windows タイム サービスのレジストリ値を変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
これらの値は、 w32tm コマンドを使用します。その場合は、次のMicrosoftドキュメントが役に立つ場合があります。
- Windowsタイム サービスのツールと設定
(レジストリ設定に関するセクションを含む)
- 「Windows Serverで権限のあるタイム サーバーを構成する方法」
グループポリシー
Windows タイム サービスに変更する場合 w32tm コマンドを実行するか、レジストリを使用しても、これらの変更がまったく有効にならないか、以前の値に戻る前に短時間しか有効にならない場合は、グループ ポリシー オブジェクト (GPO) が変更をオーバーライドしている可能性があります。Windows タイム サービスのグループ ポリシー設定には、レジストリまたは w32tm コマンドを使用します。これらの設定は、次の場所にあります。
Computer Configuration\Policies\Administrative Templates\System\Windows Time Service
Windowsタイム サービスのレジストリー値をデフォルト設定にリセットします。
それ以外に方法がない場合は、次の手順を実行して、Windowsタイム サービスをデフォルト設定にリセットします。
- サービス コンソールを開き、Windowsタイム サービスを停止します(または、次のコマンドを実行します)。
net stop w32timeコマンド プロンプトから)実行されている場合。 - 管理者特権でコマンド プロンプトを開き、次のコマンドを実行します。
w32tm /unregisterをクリックして、レジストリから Windows タイム サービスを削除します。サービスがサービスコンソールに表示されなくなります。 - そのノードで
w32tm /registerをクリックして、既定のレジストリ設定でサービスを再作成します。 - 必要なレジストリーの変更を行った後、サービス コンソールまたはを使用してWindowsタイム サービスを開始します。
net start w32timeに指定します。
其他信息
- Windowsタイムサービスが実行されているかどうかを知る方法は?
services.msc)で 、[Windows Time]を見つけて、ステータスが [実行中]であることを確認します。[ スタートアップの種類 ]をチェックして、[ 自動 ]または [手動]に設定されていることを確認することもできます
簡単なトラブルシューティングのヒントについては、Meinberg の記事「 Windows タイム サービス (w32time) 同期の高速トラブルシューティング
- Windowsタイム サービスはどの程度正確ですか?
詳細については、Microsoftの記事「 高精度のためのシステムの構成 」を参照してください。