Activer la stratégie d'inscription de certificats et demander un certificat via PowerShell

Actuellement, je fais ce qui suit pour demander un certificat depuis un serveur CEP :

  • Ouvrir gpedit.msc

  • Sous Computer Configuration > Windows Settings > Security Settings > Public Key Policies > Certificate Services Client - Certificate Enrollment Policy, activer la stratégie et saisir l’URI du serveur CEP

  • Ouvrir certlm.msc et effectuer une inscription

Je veux automatiser tout cela avec PowerShell pour pouvoir le scripter. Comment puis-je activer la stratégie d’inscription de certificats et demander un certificat entièrement via PowerShell ?

Voici le processus que j’ai utilisé sur Windows 2012 R2 et ultérieur. Tout le code PowerShell a été exécuté depuis une invite PowerShell élevée. L’automatisation complète est possible en combinant les cmdlets de configuration de la stratégie et la cmdlet Get-Certificate.

Premièrement, configurez la stratégie d’inscription :

Import-Module PKI
# Ajouter la stratégie d'inscription CEP
Add-CertificateEnrollmentPolicyServer -Url 'https://cep.domaine.com/ADPolicyProvider_CEP_Kerberos/service.svc/CEP' -context Machine

Ensuite, demandez le certificat :

$template = 'WebServer'
$dnsName = 'monserveur.domaine.com'
Get-Certificate -Template $template -DnsName $dnsName -CertStoreLocation cert:\LocalMachine\My