共用方式為


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

這個 IT 專業人員文章描述如何使用 Windows PowerShell,在 Windows Server 2012 或更新版本中產生群組「受管理的服務帳戶」密碼,以便在網域控制站上建立「Microsoft 金鑰發佈服務」(kdssvc.dll) 的根金鑰。

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

注意

刪除和重新建立根金鑰可能會導致因為金鑰快取而刪除後,舊金鑰繼續使用的問題。 如果重新建立根金鑰,則應在所有網域控制站上重新啟動金鑰發佈服務 (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 -立即生效

    提示

    生效時間參數可用來在使用金鑰前,給予將金鑰傳播到所有 DC 的時間。 使用 Add-KdsRootKey -EffectiveImmediately 時,會將根金鑰新增到目標 DC,並由 KDS 服務立即使用。 不過,其他網域控制站將必須等到複寫成功後,才能使用該根金鑰。

KDS 根金鑰會儲存在容器 CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=<forest name>; 中的 Active Directory 中。 這些金鑰擁有屬性 msKds-DomainID,其會連結到建立物件的網域控制站之電腦帳戶。 當此網域控制站遭到降級並從網域中移除時,此值會參考電腦帳戶的墓碑狀態。 您可以忽略損壞的值,因為它只是用來協助管理員追蹤剛建立的物件。 您也可以變更屬性值,並將其指向樹系中另一個網域控制站的電腦物件。

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

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

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

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

    $a=獲取日期

    $b=$a.AddHours(-10)

    Add-KdsRootKey -EffectiveTime $b

    或使用單一命令

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

另請參閱

管理群組受管理的服務帳戶