憑證服務未啟動: RPC
憑證授權單位 (CA) 需要足夠的系統資源和作業系統元件才能正確運作。如果伺服器的記憶體或硬碟空間不足,或是作業系統元件無法使用,則嘗試啟動 Active Directory 憑證服務 (AD CS) 可能會失敗。
使用遠端程序呼叫 (RPC) 修正問題
若要執行此程序,您必須擁有管理 CA 權限,或者必須已被委派適當的權限。
若要使用遠端程序呼叫 (RPC) 修正問題:
檢查事件記錄檔訊息以及此事件前後最近的任何其他訊息,以取得其他資訊。
使用可靠性和效能監視器評估主控憑證授權單位 (CA) 的電腦的記憶體和磁碟使用量。如有需要,透過新增實體記憶體、虛擬記憶體或實體儲存體來增加 Windows 資源。
重新啟動電腦和 CA (如果沒有自動重新啟動)。
如果這樣做沒有解決問題,您可能需要從完整備份中還原 Windows 和 CA。
如果您需要連絡 Microsoft 客戶服務與支援部門,則可以使用「建立偵錯記錄檔」和「啟用 CryptoAPI 2.0 診斷」章節中的程序來編譯對您有用的資訊。
建立偵錯記錄檔
若要建立偵錯記錄檔:
在主控 CA 的電腦上,按一下 [開始],輸入 cmd 並按 ENTER。
輸入 certutil -setreg ca\debug 0xffffffe3 並按 ENTER。
按一下 [開始],指向 [系統管理工具],然後按一下 [服務]。
選取 [Active Directory 憑證服務],然後按一下 [啟動]。
重現問題之後,在 %windir% 目錄中找出包含進階診斷資訊的檔案 certsrv.log。
產生診斷之後,開啟命令提示字元視窗以停用偵錯。
輸入 certutil -delreg ca\debug 並按 ENTER。
啟用 CryptoAPI 2.0 診斷
若要啟用 CryptoAPI 2.0 診斷:
在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後按一下 [事件檢視器]。
在主控台樹狀目錄中,展開 [事件檢視器]、[應用程式及服務記錄檔]、[Microsoft]、[Windows] 和 [CAPI2]。
在 [可操作] 上按一下滑鼠右鍵,然後按一下 [啟用記錄]。
按一下 [開始],指向 [系統管理工具],然後按一下 [服務]。
在 [Active Directory 憑證服務] 上按一下滑鼠右鍵,然後按一下 [重新啟動]。
若要確認 CA 服務可供使用:
在主控 CA 的電腦上,按一下 [開始],輸入 cmd 並按 ENTER。
輸入 certutil -config <CAconfig> -ping 並按 ENTER。
CAconfig 是 CA 組態字串,其格式為 CAhostname\CAname。
Target | Microsoft.Windows.CertificateServices.CARole.6.2 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 34 | ||
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.6.2.CertSvcEvents.34" Enabled="onEssentialMonitoring" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.6.2" 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">34</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="AlertMessageID1f2bc1a24efc4362b1f098c93aa519df"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>