{"id":2550,"date":"2020-08-22T16:30:08","date_gmt":"2020-08-22T23:30:08","guid":{"rendered":"https:\/\/www.matthewschacherbauer.com\/wp\/?p=2550"},"modified":"2025-12-15T15:04:39","modified_gmt":"2025-12-15T22:04:39","slug":"adcs-enrollment-policy-web-service","status":"publish","type":"post","link":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/","title":{"rendered":"ADCS Enrollment Policy Web Service"},"content":{"rendered":"<p>This guide covers the deployment of the Active Directory Certificate Services (AD CS) Enrollment Policy Web Service (CEP) role on Server Core. The Certificate Enrollment Policy Web Service allows clients to retrieve Certificate Enrollment Policies from an Enterprise Certificate Authority when access to a Domain Controller is not possible, such as external or DMZ housed computers, or clients without permissions. Users and computers can retrieve enrollment policies from a CEP server over HTTPS\/443.<\/p>\n<p>The Certificate Enrollment Policy Web Service binds to Active Directory Domain Controllers over standard LDAP ports. A single CEP server can provide policy services for multiple Enterprise Certificate Authorities. A CEP server is required for clients to utilize a <a href=\"\/wp\/2020\/08\/adcs-enrollment-web-service-with-managed-service-accounts\/\">Certificate Enrollment Web Services<\/a> server.<\/p>\n<h1>Requirements<\/h1>\n<ul>\n<li>Administrator privileges on the CEP server.<\/li>\n<li>A deployed and functional Enterprise PKI.<\/li>\n<\/ul>\n<h1>Summary Steps<\/h1>\n<ul>\n<li>Enroll a Computer Certificate for the CEP server IIS binding.<\/li>\n<li>Install the Certificate Authority feature with the Policy Web Enrollment Service role.<\/li>\n<li>Determine the URI for client access to the CEP service.<\/li>\n<li>Configure Group Policy to direct clients to the new CEP server.<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>Enroll a Computer Certificate for the CEP server IIS binding<\/h2>\n<p>The Certificate Enrollment Policy Web Service must operate over HTTPS\/443 and requires a certificate to be installed for the IIS binding. For non-core server installations, you can enroll a certificate using the <code>certlm.msc<\/code> MMC snap-in. For server core installations, you can enroll a certificate by command line from an available Enterprise Certificate Authority, if available in your environment.<\/p>\n<pre>certreq.exe -enroll -machine -q &lt;templatename&gt;<\/pre>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2370\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-300x157.png\" alt=\"Enroll a Certificate by Command Line\" width=\"600\" height=\"314\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-300x157.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-150x78.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-768x401.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-500x261.png 500w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01.png 993w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<h2>Install the Certificate Authority feature with the Policy Web Enrollment Service role<\/h2>\n<p>Install the Certificate Authority Role with Add\/Remove Features or with PowerShell.<br \/>\nEnsure to select the Certificate Enrollment Policy Web Service under Role Services. This guide assumes the use of the Add\/Remove Features wizard remotely using Server Manager.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2371\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02-300x214.png\" alt=\"Install the CEP Role\" width=\"600\" height=\"427\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02-300x214.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02-150x107.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02-768x547.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02-421x300.png 421w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-02.png 786w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>For Server Core installations, it may be helpful to select the Management Service under IIS Role Services. This installs the <a href=\"https:\/\/docs.microsoft.com\/en-us\/iis\/manage\/remote-administration\/remote-administration-for-iis-manager\">Web Management Service (WMSvc)<\/a> for remote management capability with the <a href=\"https:\/\/www.iis.net\/downloads\/microsoft\/iis-manager\">IIS Manager for Remote Administration<\/a>.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2372\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03-300x214.png\" alt=\"Install the IIS Management Service Role\" width=\"600\" height=\"427\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03-300x214.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03-150x107.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03-768x547.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03-421x300.png 421w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-03.png 786w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Complete the Role Configuration steps.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2373\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-04-300x221.png\" alt=\"Provide Installation Credentials\" width=\"600\" height=\"442\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-04-300x221.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-04-150x110.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-04-408x300.png 408w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-04.png 761w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2374\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-05-300x221.png\" alt=\"Select the CEP Service\" width=\"600\" height=\"442\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-05-300x221.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-05-150x110.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-05-408x300.png 408w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-05.png 761w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Select the authentication type for this CEP server.<br \/>\nThis guide uses Windows Integrated Authentication (Kerberos) for client requests, which requires that clients be domain joined. Additional authentication types are available if your situation does not allow for domain joined clients, but is not covered in this guide.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2375\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-06-300x221.png\" alt=\"Select the authentication type\" width=\"600\" height=\"442\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-06-300x221.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-06-150x110.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-06-408x300.png 408w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-06.png 761w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Select the certificate that IIS should bind to for HTTPS connections.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2376\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-07-300x221.png\" alt=\"Select the IIS Binding certificate\" width=\"600\" height=\"442\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-07-300x221.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-07-150x110.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-07-408x300.png 408w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-07.png 761w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Confirm and complete the role configuration.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2377\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-08-300x221.png\" alt=\"Confirm the role configuration\" width=\"600\" height=\"442\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-08-300x221.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-08-150x110.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-08-408x300.png 408w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-08.png 761w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2378\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-09-300x221.png\" alt=\"Complete the role configuration\" width=\"600\" height=\"442\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-09-300x221.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-09-150x110.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-09-408x300.png 408w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-09.png 761w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><!--nextpage--><\/p>\n<h2>Determine the URI for client access to the CEP service<\/h2>\n<p>Connect to the IIS Management Service using the Remote Manager.<\/p>\n<p>Expand the Default Web Site and select the ADPolicyProvider_CEP_* application. This guide assumes that we selected Windows Integrated Authentication as the authentication type, so the application should be named <code>ADPolicyProvider_CEP_Kerberos<\/code>.<br \/>\nSelect Application Settings.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2379\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10-300x166.png\" alt=\"Select Application Settings in the IIS Manager\" width=\"600\" height=\"333\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10-300x166.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10-1024x568.png 1024w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10-150x83.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10-768x426.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10-500x277.png 500w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-10.png 1356w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Supply a Friendly Name. Make note of this name in the future.<br \/>\nRecord the URI displayed. This is the location clients use to reach the CEP server. You will need this value to configure Group Policy.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2380\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11-300x166.png\" alt=\"Set a Friendly Name and record the URI\" width=\"600\" height=\"333\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11-300x166.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11-1024x568.png 1024w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11-150x83.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11-768x426.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11-500x277.png 500w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-11.png 1356w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<h2>Configure Group Policy to direct clients to the new CEP server<\/h2>\n<p>Use the Group Policy Management Console (GPMC) to edit or create a Group Policy Object that will direct clients to use the new CEP server.<\/p>\n<p>Computer Configuration &gt; Policies &gt; Windows Settings &gt; Security Settings &gt; Public Key Policies<br \/>\nSelect Certificate Services Client &#8211; Certificate Enrollment Policy<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2381\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12-300x210.png\" alt=\"Configure Group Policy\" width=\"600\" height=\"420\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12-300x210.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12-150x105.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12-768x538.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12-428x300.png 428w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-12.png 939w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Enable the policy.<br \/>\nThe policy will contain the default LDAP configuration to direct clients to a Domain Controller. Remove the existing policy.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2382\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13-300x210.png\" alt=\"Enable and empty the policy\" width=\"600\" height=\"420\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13-300x210.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13-150x105.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13-768x538.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13-428x300.png 428w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-13.png 939w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Select Add to add a new policy.<br \/>\nEnter the URI you recorded from the previous step. For Authentication Type, select the authentication type you selected during installation. This guide used Windows Integrated.<br \/>\nSelect Validate Server.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2383\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14-300x210.png\" alt=\"Add a CEP server to the group policy\" width=\"600\" height=\"420\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14-300x210.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14-150x105.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14-768x538.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14-428x300.png 428w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-14.png 939w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Select Add.<br \/>\nRepeat this process for any additional CEP servers that are utilized for high availability.<\/p>\n<p><a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2384\" src=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15-300x210.png\" alt=\"Save and close the policy\" width=\"600\" height=\"420\" srcset=\"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15-300x210.png 300w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15-150x105.png 150w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15-768x538.png 768w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15-428x300.png 428w, https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-15.png 939w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Select OK.<\/p>\n<p>Clients will need to refresh policy before using the new CEP servers for policy retrieval. The CEP servers refresh policy from Active Directory every 30 minutes by default, and clients retain a local cache for even longer; so be aware that Certificate Template changes may not be reflected immediately when polled by clients.<\/p>\n<p>The CEP servers can forced to refresh their cache from Active Directory by issuing the <code>iisreset<\/code> command.<\/p>\n<p>The client caches are located in the following paths and can be cleared to force a refresh<\/p>\n<ul>\n<li>Computer: %ProgramData%\\Microsoft\\Windows\\X509Enrollment<\/li>\n<li>User:%USERPROFILE%\\AppData\\Local\\Microsoft\\Windows\\X509Enrollment<\/li>\n<\/ul>\n<h1>References<\/h1>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/previous-versions\/windows\/it-pro\/windows-server-2012-R2-and-2012\/hh831625(v=ws.11)\">https:\/\/docs.microsoft.com\/en-us\/previous-versions\/windows\/it-pro\/windows-server-2012-R2-and-2012\/hh831625(v=ws.11)<\/a><\/li>\n<li><a href=\"https:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/7734.certificate-enrollment-web-services-in-active-directory-certificate-services.aspx#Policy_Server_Configuration_and_Selection\">https:\/\/social.technet.microsoft.com\/wiki\/contents\/articles\/7734.certificate-enrollment-web-services-in-active-directory-certificate-services.aspx#Policy_Server_Configuration_and_Selection<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This guide covers the deployment of the Active Directory Certificate Services (AD CS) Enrollment Policy Web Service (CEP) role on Server Core. The Certificate Enrollment Policy Web Service allows clients to retrieve Certificate Enrollment Policies from an Enterprise Certificate Authority &hellip; <a href=\"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[174,123],"tags":[175,152,144],"class_list":["post-2550","post","type-post","status-publish","format-standard","hentry","category-guides","category-homelab","tag-active-directory","tag-certificates","tag-microsoft"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ADCS Enrollment Policy Web Service | Matthew Schacherbauer.com<\/title>\n<meta name=\"description\" content=\"This guide covers the deployment of the Active Directory Certificate Services (AD CS) Enrollment Policy Web Service (CEP) role on Server Core.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/\" \/>\n<link rel=\"next\" href=\"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/2\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Schacherbauer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/\"},\"author\":{\"name\":\"Matthew Schacherbauer\",\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#\\\/schema\\\/person\\\/554130541ee604b2233ab51197a7e693\"},\"headline\":\"ADCS Enrollment Policy Web Service\",\"datePublished\":\"2020-08-22T23:30:08+00:00\",\"dateModified\":\"2025-12-15T22:04:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/\"},\"wordCount\":753,\"publisher\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#\\\/schema\\\/person\\\/554130541ee604b2233ab51197a7e693\"},\"image\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/adcs-cep-01-300x157.png\",\"keywords\":[\"active directory\",\"certificates\",\"microsoft\"],\"articleSection\":[\"Guides\",\"Homelab\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/\",\"url\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/\",\"name\":\"ADCS Enrollment Policy Web Service | Matthew Schacherbauer.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/adcs-cep-01-300x157.png\",\"datePublished\":\"2020-08-22T23:30:08+00:00\",\"dateModified\":\"2025-12-15T22:04:39+00:00\",\"description\":\"This guide covers the deployment of the Active Directory Certificate Services (AD CS) Enrollment Policy Web Service (CEP) role on Server Core.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/2020\\\/08\\\/adcs-enrollment-policy-web-service\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/adcs-cep-01.png\",\"contentUrl\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/adcs-cep-01.png\",\"width\":993,\"height\":519,\"caption\":\"Enroll a Certificate by Command Line\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#website\",\"url\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/\",\"name\":\"Matthew Schacherbauer.com\",\"description\":\"Personal Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#\\\/schema\\\/person\\\/554130541ee604b2233ab51197a7e693\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#\\\/schema\\\/person\\\/554130541ee604b2233ab51197a7e693\",\"name\":\"Matthew Schacherbauer\",\"logo\":{\"@id\":\"https:\\\/\\\/www.matthewschacherbauer.com\\\/wp\\\/#\\\/schema\\\/person\\\/image\\\/\"},\"sameAs\":[\"http:\\\/\\\/www.matthewschacherbauer.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ADCS Enrollment Policy Web Service | Matthew Schacherbauer.com","description":"This guide covers the deployment of the Active Directory Certificate Services (AD CS) Enrollment Policy Web Service (CEP) role on Server Core.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/","next":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/2\/","twitter_misc":{"Written by":"Matthew Schacherbauer","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/#article","isPartOf":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/"},"author":{"name":"Matthew Schacherbauer","@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#\/schema\/person\/554130541ee604b2233ab51197a7e693"},"headline":"ADCS Enrollment Policy Web Service","datePublished":"2020-08-22T23:30:08+00:00","dateModified":"2025-12-15T22:04:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/"},"wordCount":753,"publisher":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#\/schema\/person\/554130541ee604b2233ab51197a7e693"},"image":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/#primaryimage"},"thumbnailUrl":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-300x157.png","keywords":["active directory","certificates","microsoft"],"articleSection":["Guides","Homelab"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/","url":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/","name":"ADCS Enrollment Policy Web Service | Matthew Schacherbauer.com","isPartOf":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/#primaryimage"},"image":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/#primaryimage"},"thumbnailUrl":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01-300x157.png","datePublished":"2020-08-22T23:30:08+00:00","dateModified":"2025-12-15T22:04:39+00:00","description":"This guide covers the deployment of the Active Directory Certificate Services (AD CS) Enrollment Policy Web Service (CEP) role on Server Core.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.matthewschacherbauer.com\/wp\/2020\/08\/adcs-enrollment-policy-web-service\/#primaryimage","url":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01.png","contentUrl":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-content\/uploads\/2020\/08\/adcs-cep-01.png","width":993,"height":519,"caption":"Enroll a Certificate by Command Line"},{"@type":"WebSite","@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#website","url":"https:\/\/www.matthewschacherbauer.com\/wp\/","name":"Matthew Schacherbauer.com","description":"Personal Blog","publisher":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#\/schema\/person\/554130541ee604b2233ab51197a7e693"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.matthewschacherbauer.com\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#\/schema\/person\/554130541ee604b2233ab51197a7e693","name":"Matthew Schacherbauer","logo":{"@id":"https:\/\/www.matthewschacherbauer.com\/wp\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.matthewschacherbauer.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/posts\/2550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/comments?post=2550"}],"version-history":[{"count":5,"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/posts\/2550\/revisions"}],"predecessor-version":[{"id":2589,"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/posts\/2550\/revisions\/2589"}],"wp:attachment":[{"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/media?parent=2550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/categories?post=2550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matthewschacherbauer.com\/wp\/wp-json\/wp\/v2\/tags?post=2550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}