Hello,
The behavior you’re seeing is tied to how autoenrollment evaluates certificates against template rules. Autoenrollment will only renew a certificate if the subject name and key usage match the template exactly and if the certificate was originally enrolled through autoenrollment. When you issue a Web Server certificate manually via certlm.msc with “Supply in the request” for SANs, the certificate is valid, but autoenrollment does not consider it eligible for renewal because the subject information was supplied interactively rather than through the autoenrollment engine. That’s why your Kerberos Authentication template renews correctly — it is designed to be autoenrolled and the subject is handled consistently by the client.
For Web Server templates, the critical limitation is that autoenrollment does not re‑supply SANs on renewal. If the template requires “Supply in the request,” autoenrollment cannot generate the SAN list again without user input, so it silently skips renewal. This is by design in ADCS. Microsoft’s documentation notes that autoenrollment only renews certificates where the subject name is built automatically from AD attributes or is fixed in the template.
To make renewal work, you have two supported options. Either configure the template to build the subject name automatically (for example, using DNS name from AD or service principal name) so autoenrollment can regenerate it, or use a scripted enrollment process with certreq or PowerShell that re‑submits the SANs when the certificate is near expiry. In practice, many environments handle Web Server SAN certificates with manual enrollment or automation scripts rather than relying on autoenrollment, precisely because of this limitation.
So the condition that causes autoenrollment to ignore your Web Server certificate is the “Supply in the request” subject requirement. Autoenrollment cannot renew certificates that depend on user‑supplied SANs. If you need SANs and renewal without manual steps, you’ll need to redesign the template to use AD attributes for subject name, or implement a scheduled enrollment script to re‑issue the certificate before expiry.
I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!
Domic Vo.