﻿# 當 Domain Controller 安裝在「虛擬機器」中的注意事項

「時間」永遠是最重要的，我之前將壹台 Domain Controller 安裝在 Hyper-V 的**虛擬機器**(VM)中，結果盡然發生**時間永遠對不準**的情況，即便所有校時程式都正確設定，當伺服器時間被調整正確後，三秒內就會立即被改回錯誤的時間，以下將分享我的奮戰經驗。

Domain Controller 原本就是整個 AD 網域的主要校時伺服器，所以網域中所有主機都以 Domain Controller 的時間為主，但是負責執行 Hyper-V 的主機(Host Machine)也是網域中的成員，我原本天真的以為 Host 主機的時間就算有誤差，也應該會跟 VM 中的 Domain Controller 自動校正時間，但是我忘記了一件事，那就是所有 VM 主機(Guest Machine)中的時間「預設」會自動以 Host 主機為主，且每 3 秒就會自動同步一次，而 Windows 時間服務每小時才同步一次，所以每當 Domain Controller 想校正時間時，永遠比 Hyper-V 內建的 Time synchronization 服務來的慢，所以 DC 的時間永遠不準。

解決這個問題也很容易，請依照下列步驟設定：

**1\. 對 Domain Controller 的 VM 做設定 (Settings)**

![對 Domain Controller 的 VM 做設定 (Settings)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/cf8726a39fca2821d5b8-image_3.png "對 Domain Controller 的 VM 做設定 (Settings)")

**2\. 選取 \[Management\] 中的 \[Integration Service\] 頁籤，再將 \[Time synchronization\] 取消勾選**

![選取 \[Management\] 中的 \[Integration Service\] 頁籤，再將 \[Time synchronization\] 取消勾選](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/12108140e94f51cd5933-image_6.png "選取 [Management] 中的 [Integration Service] 頁籤，再將 [Time synchronization] 取消勾選")

就這樣兩個簡單的步驟，但是「非常重要」。

其實，我覺得將 Domain Controller 安裝在 Hyper-V 裡應該是個**錯誤的決定**，因為 Host 主機開機後要先等 Domain Controller 這台 VM 開機完成才可以順利的使用 AD 相關服務，這樣可能會造成 Host 主機開機時若有些「Windows 服務」需要用到 AD 資源時，將會發生一些異常或錯誤，除非你有第二台 DC 並安裝在不同實體主機。
