憑證服務無法啟動:安全性權限已損毀。
Active Directory 憑證服務 (AD CS) 會在登錄中記錄重要組態設定,如果此資訊損毀或遭到刪除,則 Active Directory 憑證服務可能無法啟動或正確運作。
修正憑證授權單位安全性權限
必要安全性權限的相關資訊儲存在登錄中,憑證授權單位 (CA) 需要該資訊才能正常運作。
若要執行這些程序,您必須擁有管理 CA 權限,或者必須已被委派適當的權限。
若要解決安全性權限問題:
確認安全性描述元已損毀。
如果您有登錄的備份,請從備份還原登錄設定。
如果您有 CA 的備份,則可以從備份還原 CA。
如果還原程序失敗,請建立 CA 偵錯記錄檔並連絡 Microsoft 客戶服務與支援部門。如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=89446。
確認安全性描述元損毀
若要確認 CA 安全性描述元已損毀:
開啟 [命令提示字元] 視窗。
鍵入 certutil -getreg ca\security,然後按 ENTER。
還原 CA 登錄設定
注意:不當編輯登錄可能會對系統造成嚴重損害。在變更登錄前,您應先備份所有重要的資料。
若要從登錄區檔案還原登錄設定:
在主控 CA 的電腦上,按一下 [開始],鍵入 regedit,然後按 ENTER。
選取要在其中還原登錄區的機碼。
在 [檔案] 功能表中按一下 [匯入],然後選取磁碟機、資料夾,或者網路電腦以及 Hive 所在的資料夾。
在 [檔案類型] 中,按一下 [登錄 Hive 檔案],然後選取正確的 Hive 檔案名稱。
按一下 [開啟]。出現指示 Hive 已成功匯入的訊息時,按一下 [確定]。
從備份還原 CA
備註:若要完成此程序,您必須在失敗之前已建立 CA 的備份,包括登錄設定、私密金鑰和 CA 憑證、憑證資料庫及資料庫記錄。
若要還原 CA:
如果必須重新安裝 Windows,請套用所有目前的 Service Pack 和安全性更新後再還原 CA,然後重新安裝 Active Directory 憑證服務 (AD CS)。
在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後按一下 [憑證授權單位]。
在 CA 的名稱上按一下滑鼠右鍵,然後按一下 [停止]。
使用前一程序匯入 CA 的登錄 Hive。
在 [憑證授權單位] 嵌入式管理單元中的 CA 名稱上按一下滑鼠右鍵,按一下 [所有工作],然後按一下 [還原 CA]。
當 [憑證授權單位還原精靈] 啟動時,按一下 [下一步],然後按一下 [私密金鑰及 CA 憑證]。
按一下 [憑證資料庫及憑證資料庫記錄檔]。
輸入備份資料夾位置,然後按 [下一步]。
確認備份設定。應會顯示 [已發出記錄檔及擱置要求] 設定。
按一下 [完成],然後按一下 [是] 以重新啟動 AD CS。
建立 CA 偵錯記錄
若要建立偵錯記錄:
在主控 CA 的電腦上,按一下 [開始],鍵入 cmd 並按 ENTER。
鍵入 certutil -setreg ca\debug 0xffffffe3 並按 ENTER。
按一下 [開始],指向 [系統管理工具],然後按一下 [服務]。
選取 [Active Directory 憑證服務],然後按一下 [啟動]。
重現問題之後,在 %windir% 目錄中找出包含進階診斷資訊的檔案 certsrv.log。
完成產生診斷後,開啟命令提示字元視窗並輸入 certutil -delreg ca\debug,然後按 ENTER 以停用偵錯。
若要確認憑證授權單位 (CA) 登錄設定:
完成 CA 登錄設定的任何變更後,按一下 [開始],指向 [系統管理工具],然後按一下 [憑證授權單位]。
選取 CA 名稱,然後按一下 [重新啟動]。
按一下 [開始] 並輸入 cmd,然後按 ENTER。
輸入 certutil -getreg ca\security,然後按 ENTER。
如果沒有其他損毀設定,則會出現文字 [-getreg 命令已成功完成]。
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 95 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.95" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">95</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageID28e38c0808c649d7b7063997775b7a66"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>