证书服务未启动:OLE。
证书颁发机构 (CA) 需要充足的系统资源和操作系统组件才能正常工作。如果服务器的内存或硬盘空间不足,或者操作系统组件不可用,则尝试启动 Active Directory 证书服务 (AD CS) 的操作可能会失败。
解决 OLE 组件的问题
要执行这些过程,您必须拥有管理 CA 权限,或者您必须被委派了适当的权限。
要解决 OLE 组件的问题,请执行以下操作:
查看事件消息描述,以及任何其他消息,特别是在此消息前后发出的 COM 和 DCOM 错误或警告以获得更多信息。
使用可靠性和性能监视器来评估托管证书颁发机构 (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 配置字符串,位于 CA 主机名\CA 名称表单中。
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 16 | ||
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.16" 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">16</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="AlertMessageIDd2ea36521ad643c69bfcb525f0425a66"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>