原則模組發生錯誤。
原則模組包含管理發行、更新和撤銷憑證的規則集。此原則從硬式編碼值、登錄設定以及憑證範本 (如果使用的是企業憑證授權單位 (CA)) 中建立。原則模組可決定憑證要求是否通過核准、被拒絕或標記為擱置中,以供系統管理員核准或拒絕。使用原則模組偵測到的問題可導致 CA 無法啟動或停止運作。
解決原則模組處理錯誤
若要決定如何修正錯誤狀況,請檢查事件記錄檔訊息中報告的錯誤碼。
事件記錄檔訊息可以包含下列程式碼:
MSG_NO_CA_OBJECT, MSG_NO_DOMAIN
MSG_NO_CERT_TYPES
MSG_DOMAIN_INIT
如果這些錯誤訊息未包含特定資訊,請檢查和解決該錯誤發生前或發生後的任何其他相關錯誤。
如果處理相關症狀仍然無法解決警告,則說明原則模組存在問題:
若是非 Microsoft 原則模組,請連絡原則模組提供者以尋求協助。
若是 Microsoft 原則模組,請連絡 Microsoft 客戶服務與支援部門。如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=89446。
MSG_NO_CA_OBJECT, MSG_NO_DOMAIN
此錯誤碼指出憑證授權單位 (CA) 無法連線至 Active Directory 網域服務,或找不到所需的 Active Directory 資訊。無法連線至網域控制站通常是因為網路連線問題或權限問題。
若要檢查和修正潛在的連線問題:
確認 Active Directory 服務在每個網域控制站上執行,進而檢查 AD DS 是否正在執行。如需 Active Directory 監視的詳細資訊,請參閱適用於 MOM 的 Active Directory 管理組件 ( http://go.microsoft.com/fwlink/?LinkID=95697)。
使用網路診斷工具 (例如 Ping 和 Nltest 命令列工具) 檢查憑證授權單位 (CA) 與 AD DS 之間的網路連線狀態。
使用下面的「確認基本的 AD DS 容器和物件的權限」程序來確認 CA 對 AD DS 中的物件和容器是否擁有正確的權限。
MSG_NO_CERT_TYPES
此錯誤碼指出 CA 已在 AD DS 的憑證範本容器中尋找憑證範本的清單,但找不到該清單或清單是空的。
若要檢查和修正潛在的憑證範本問題:
使用「確認憑證範本組態和可用性」程序來檢查關於憑證範本的權限和其他設定,以及是否已新增至 CA 中。
MSG_DOMAIN_INIT
此錯誤碼指出 CA 無法連線至 AD DS。此失敗可能是因為網路連線問題,或更有可能是權限問題。
若要檢查和修正 DOMAIN_INIT 問題:
使用網路診斷工具 (例如 Ping 和 Nltest 命令列工具) 檢查 CA 與 AD DS 之間的網路連線狀態。
使用下面的「確認基本的 AD DS 容器和物件的權限」程序來確認 CA 對 AD DS 中的物件和容器是否擁有正確的權限。
若要執行這些程序,您必須擁有管理 CA 權限,或者必須已被委派適當的權限。
確認憑證範本組態和可用性
若要確認憑證範本組態和可用性:
按一下 [開始] 並輸入 certtmpl.msc,然後按 ENTER。
選取與錯誤相關聯的憑證範本。
修正可能導致 CA 無法發行依據憑證範本的憑證的任何安全性權限或其他組態問題,然後按一下 [確定]。
開啟憑證授權單位嵌入式管理單元,然後按兩下 CA 名稱。
在憑證範本上按一下滑鼠右鍵,然後依序按一下 [新增] 和 [要發行的憑證範本]。
選取憑證範本,然後按一下 [確定]。
確認對基本 AD DS 容器和物件的權限
若要確認 CA 對這些容器內的 AD DS 容器和物件擁有必要權限:
在網域控制站上按一下 [開始],指向 [系統管理工具],然後按一下 [Active Directory 站台及服務]。
按一下 [Active Directory 站台及服務 [網域名稱]]。
在 [檢視] 功能表上,按一下 [顯示服務節點]。
依序按兩下 [Services] 和 [Public Key Services],然後在下面列出的每個容器上或容器內列出的物件上按一下滑鼠右鍵,再按一下 [內容]。
在 [安全性] 索引標籤上確認所需的權限。
下面是主控 CA 的電腦所需的所有 Active Directory 權限。其中部分權限會經由 Cert Publishers 群組中的成員資格保存。
註冊服務容器。CA 電腦對其本身的物件具有讀取與寫入存取權。
AIA 容器。Cert Publishers 群組對 AIA 容器具有 [完全控制] 存取權限,CA 電腦對 AIA 容器內的本身物件具有 [完全控制] 存取權限。
CDP 容器。Cert Publishers 群組對 CDP 容器底下每個 CA 的容器具有 [完全控制] 存取權限,CA 電腦對其本身容器內的每個憑證撤銷清單 (CRL) 物件具有 [完全控制] 存取權限。
憑證授權單位容器。Cert Publishers 群組對此容器內的物件具有 [完全控制] 存取權限。
憑證範本容器。Enterprise Admins 與 Domain Admins 群組 (不是 CA 電腦) 對此容器和容器內的大部分物件具有 [完全控制] 存取權限或讀取與寫入存取權。
KRA 容器。CA 電腦對其本身物件具有 [完全控制] 存取權限。
OID 容器。Enterprise Admins 與 Domain Admins 群組 (不是 CA 電腦) 對此容器和容器及容器內的物件具有 [完全控制] 存取權限或讀取與寫入存取權。
NTAuthCertificates 物件。Enterprise Admins 與 Domain Admins 群組 (不是 CA 電腦) 具有 [完全控制] 存取權限或讀取與寫入存取權。
網域電腦與網域使用者容器。Cert Publishers 群組對每位使用者的 userCertificate 屬性及部署 AD CS 的樹系內的電腦物件具有讀取與寫入存取權。
若要確認原則模組是可操作的:
在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後按一下 [服務]。
在 Active Directory 憑證服務 (AD CS)] 上按一下滑鼠右鍵,然後按一下 [重新啟動]。
開啟事件記錄檔,然後確認其中沒有包含與原則模組相關的任何錯誤。
與原則模組相關的錯誤包括:
事件 9:來源:Microsoft-Windows-CertificationAuthority。「Active Directory 憑證服務未啟動:無法載入原則模組。」
事件 43:Microsoft-Windows-CertificationAuthority。「"%1" 原則模組中的 "%2" 方法導致一個在位址 %4 的例外。異常狀況代碼為 %3。」
事件 44:Microsoft-Windows-CertificationAuthority。「"%1" 原則模組中的 "%2" 方法傳回錯誤。%5 傳回的狀態代碼為 %3。%4」
事件 77:Microsoft-Windows-CertificationAuthority。「"%1" 原則模組已記錄下列警告:%2」
事件 78:Microsoft-Windows-CertificationAuthority。「"%1" 原則模組已記錄下列錯誤:%2」
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 78 | ||
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.78" 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">78</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="AlertMessageIDb0c07f8880a34bb6bf0a847caa4d5a4b"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>