建立金鑰發佈服務 KDS 根金鑰

適用于:Windows Server 2022、Windows Server 2019、Windows Server 2016

本文適用于 IT 專業人員,說明如何使用 Windows PowerShell 或更新版本,在網域控制站上建立 Microsoft 金鑰散發服務 (kdssvc.dll) 根金鑰,以在 Windows Server 2012 或更新版本中產生群組受控服務帳戶密碼。

網域控制站 (DC) 需要根金鑰才能開始產生 gMSA 密碼。 網域控制站最長會等待 10 小時 (從建立算起) 來允許所有網域控制站聚合它們的 AD 複寫,然後才允許建立 gMSA。 等候最多 10 小時是一項安全措施,可防止在環境中所有 DC 都能夠回應 gMSA 要求之前發生密碼產生。 當 gMSA 主機嘗試擷取密碼時,嘗試使用 gMSA 太快可能會失敗,因為金鑰可能尚未複寫到所有網域控制站。 gMSA 密碼擷取失敗也可以在使用具有有限複寫排程的 DC 時發生,或如果發生複寫問題。

注意

刪除和重新建立根金鑰可能會導致因為快取金鑰而繼續使用舊金鑰的問題。 如果重新建立根金鑰,應該在所有網域控制站上重新啟動金鑰散發服務 (KDC) 。

若要完成此程序,至少需要 Domain AdminsEnterprise Admins 群組的成員資格或同等權限。 如需使用適當帳戶和群組成員資格的詳細資訊,請參閱 本機和網域預設群組

注意

若要執行用來管理群組「受管理的服務帳戶」的 Windows PowerShell 命令,必須有 64 位元架構。

使用 Add-KdsRootKey Cmdlet 建立 KDS 根金鑰

  1. 在Windows Server 2012或更新版本的網域控制站上,從工作列執行Windows PowerShell。

  2. 在 Windows PowerShell Active Directory 模組的命令提示字元中,輸入下列命令,然後按 ENTER 鍵:

    Add-KdsRootKey -EffectiveImmediately

    提示

    Effective 時間參數可用來指定使用金鑰前先將金鑰傳播到所有 DC 的時間。 使用 Add-KdsRootKey -EffectiveImmediately 會將根金鑰新增至 KDS 服務立即使用的目標 DC。 不過,除非複寫成功,否則其他網域控制站將無法使用根金鑰。

KDS 根金鑰會儲存在容器 CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=<forest name>; 中的 Active Directory 中。 其屬性 msKds-DomainID 連結到建立物件的網域控制站電腦帳戶。 當此網域控制站從網域降級並移除時,此值會參考電腦帳戶的標記。 您可以忽略中斷的值,因為它僅用於協助系統管理員在重新建立物件時追蹤物件。 您也可以變更屬性值,並將其指向樹系中另一個網域控制站的電腦物件。

對於只有一個 DC 的測試環境,您可以使用下列程序來建立 KDS 根金鑰,並設定一個過去的時間做為開始時間,以避開金鑰產生時的等候間隔。 驗證 KDS 事件記錄檔中已記錄 4004 事件。

在測試環境中建立立即生效的 KDS 根金鑰

  1. 在Windows Server 2012或更新版本的網域控制站上,從工作列執行Windows PowerShell。

  2. 在 Windows PowerShell Active Directory 模組的命令提示字元中,輸入下列命令,然後按 ENTER 鍵:

    $a=Get-Date

    $b=$a.AddHours (-10)

    Add-KdsRootKey -EffectiveTime $b

    或使用單一命令

    Add-KdsRootKey -EffectiveTime ( (get-date) .addhours (-10) )

另請參閱

使用群組受控服務帳戶消費者入門