Entra参加デバイスのWindows タイム サービスは「手動」のまま
この記事の内容
- Microsoft Entra参加済みデバイスでは、WindowsタイムサービスのスタートアップがデフォルトでActive Directory参加デバイスとは異なり「手動」になっている
- 時刻同期が行われないと、Kerberos認証など認証系プロトコルに支障をきたす可能性がある
- PowerShellコマンド1行でサービスを「自動」起動に変更できる
- Intuneを使えば管理下の全Entra参加デバイスに一括適用が可能
- 同期先のNTPサーバーは、特別な要件がなければデフォルトの
time.windows.comのままで問題ない
はじめに:Entra参加デバイスと時刻同期の重要性
Microsoft Entra(旧Azure AD)に直接参加するデバイスの運用が一般化し、関連するサポート情報も増えてきました。今回は、Windowsサポートチームのブログで公開された「Microsoft Entra参加済みデバイス、Windowsタイムサービスによる時刻同期について」という記事を基に、この重要なテーマを解説します。
現代のITシステムにおいて、正確な時刻同期は不可欠です。時刻がずれていると、ユーザーが時間を誤認するだけでなく、システム間の認証プロトコルが正常に機能しなくなるなど、深刻な問題を引き起こす可能性があります。特にKerberos認証では、時刻のずれは致命的なエラーにつながります。
従来のActive Directory環境との違い
Windowsには、時刻を自動的に補正するための「Windowsタイムサービス」という仕組みが標準で搭載されています。このサービスの挙動は、デバイスの参加形態によって大きく異なります。
ワークグループ環境(非管理デバイス)
PCを購入した直後のような、どの組織にも管理されていない状態です。この場合、Windowsタイムサービスのスタートアップの種類は規定で「手動」になっており、自動的な時刻同期は行われません。
Active Directoryドメイン参加環境
従来、多くの企業で採用されてきた形態です。デバイスがドメインに参加すると、Windowsタイムサービスのスタートアップの種類は自動的に「自動」に変更されます。ドメインコントローラーがNTP(Network Time Protocol)サーバーとして機能し、ドメイン階層に従って組織内の全デバイスの時刻が効率的に同期される仕組みが構築されます。
Entra参加デバイスにおける課題
Microsoft Entraに直接参加するデバイスは、Active Directoryドメインに参加していないため、Windowsタイムサービスの挙動はワークグループ環境と同様になります。つまり、スタートアップの種類が「手動」のままで、自動的な時刻同期が行われません。
サポート記事では「要件を満たせない可能性がある」と控えめに記載されていますが、組織で管理されるデバイスにおいて、時刻同期は認証などシステムの根幹に関わる非常に重要な要素です。将来的には仕様が変更される可能性もありますが、現状では管理者が意図的に設定を変更する必要があります。
解決策:Windowsタイムサービスを自動起動に設定する
この問題を解決するためには、Windowsタイムサービスのスタートアップの種類を「自動」に変更する必要があります。サポート記事では、GUIとPowerShellを使った2つの方法が紹介されています。
GUIでの設定
services.msc から「Windows Time」サービスを探し、プロパティを開いてスタートアップの種類を「自動」に変更します。
PowerShellでの設定
以下のコマンドを実行することで、スタートアップの種類を「自動」に変更できます。
Set-Service -Name W32Time -StartupType Automatic
Intuneを利用した一括設定方法
Entra参加デバイスは、Microsoft Intuneで管理されていることがほとんどです。そのため、Intuneを使って対象デバイスにPowerShellスクリプトを配布し、一括で設定を適用するのが最も現実的な方法です。
手順は以下のとおりです。
- Intuneの管理センターで「デバイス」→「スクリプト」と進み、新しいスクリプトを追加します
- プラットフォームとして「Windows 10 以降」を選択します
- 先ほどのPowerShellスクリプトをアップロードします
Set-Service -Name W32Time -StartupType Automatic
- スクリプト設定で「このスクリプトをログオンした資格情報を使用して実行する」を「いいえ」に設定します。これにより、スクリプトはシステム権限で実行され、サービス設定を変更できます
- 対象となるデバイスグループにスクリプトを割り当てます
同期先のNTPサーバーはどうするべきか?
サービスを自動起動に設定するだけでは、一つの疑問が残ります。それは「どのNTPサーバーに同期するのか?」という点です。
Active Directory環境ではドメインコントローラーがその役割を担っていましたが、Entra参加デバイスはインターネット上のNTPサーバーに直接アクセスする必要があります。
ntp.nict.jp のような公開NTPサーバーに、企業内の数千〜数万台のデバイスが一斉にアクセスすることの負荷が気になるかもしれません。また、自前でNTPサーバーを構築するのはコストや管理の手間がかかります。
しかしEntra参加デバイスはMicrosoftの管理基盤に依存しているため、時刻同期もデフォルトのtime.windows.comに任せるのが最も合理的です。Windows Updateのような膨大なトラフィックを処理しているMicrosoftのインフラであれば、時刻同期の負荷は問題になりません。特別な要件がない限り、同期先をあえて変更する必要はないと考えられます。
まとめ
Microsoft Entraに参加しているWindowsデバイスは、デフォルトで時刻同期サービスが「手動」設定になっています。これを放置すると時刻がずれ、認証トラブルなどの原因となる可能性があります。
対策のポイントは以下の2点です。
- Windowsタイムサービスのスタートアップを「自動」に変更する — PowerShellコマンド1行で対応可能
- Intuneで一括配布する — スクリプトをシステム権限で実行し、管理下の全デバイスに適用する
同期先については、特別な理由がなければWindowsの既定の設定(time.windows.com)のままで問題ありません。Entra参加デバイスの展開時には、この設定を忘れずに確認するようにしましょう。