# Serveur Windows

{% hint style="info" %}
Applicable à la version 2.9 de SCEPman et aux versions ultérieures
{% endhint %}

Vous pouvez utiliser le module PowerShell SCEPmanClient pour demander des certificats pour votre serveur Windows. Veuillez vous référer à l’article principal du module pour les prérequis :

{% content-ref url="../scepmanclient" %}
[scepmanclient](https://docs.scepman.com/fr/gestion-des-certificats/api-certificates/scepmanclient)
{% endcontent-ref %}

## Description du cas d’utilisation

Bien que le module soit capable de demander des certificats initialement, il n’est peut-être pas souhaitable de stocker les informations d’identification du service principal sur une machine qui pourrait être utilisée pour demander des certificats arbitraires.

Donc, si votre scénario inclut le déploiement d’un certificat à l’aide de Certificate Master, vous pouvez le renouveler automatiquement en utilisant *SCEPmanClient* en fournissant un certificat déjà existant pour l’authentification :

<pre class="language-powershell"><code class="lang-powershell"><strong>$Subject = $env:COMPUTERNAME
</strong><strong>$ValidityThreshold = 30
</strong><strong>
</strong><strong>$CertificateToRenew = Get-ChildItem Cert:\LocalMachine\My `
</strong>                        | Where-Object NotAfter -lt (Get-Date).AddDays($ValidityThreshold) `
                        | Where-Object Subject -match $Subject

New-SCEPmanCertificate -Certificate $CertificateToRenew -SaveToStore 'LocalMachine'

# Avec le nouveau certificat en place, nous pouvons supprimer l’ancien
# Remove-Item $CertificateToRenew.PSPath
</code></pre>

Cet exemple recherchera les certificats expirant dans le mois prochain et les utilisera pour authentifier la demande de renouvellement.

## Demande initiale

Si vous souhaitez demander des certificats sur votre serveur dans un premier temps, vous pouvez le faire en fournissant un principal de service pour l’authentification qui possède le rôle **CSR DB Requesters** attribué. Veuillez vous référer au guide suivant pour savoir comment mettre en œuvre un tel principal de service :

{% content-ref url="" %}
[](https://docs.scepman.com/fr/gestion-des-certificats/api-certificates/api-enrollment)
{% endcontent-ref %}

```powershell
$Parameters = @{
    'Url'              = 'scepman.contoso.com'
    'ClientId'         = '569fbf51-aa63-4b5c-8b26-ebbcfcde2715'
    'TenantId'         = '8aa3123d-e76c-42e2-ba3c-190cabbec531'
    'ClientSecret'     = 'csa8Q~aVaWCLZTzswIBGvhxUiEvhptuqEyJugb70'
    'Subject'          = 'CN=WebServer'
    'DNSName'          = 'Webserver.domain.local'
    'ExtendedKeyUsage' = 'ServerAuth'
    'SaveToStore'      = 'LocalMachine'
}

New-SCEPmanCertificate @Parameters
```

Si nous voulons maintenant renouveler un certificat, nous pouvons ignorer le principal de service et utiliser un certificat déjà émis pour l’authentification. Cela utilisera les détails du certificat existant pour construire une nouvelle CSR et l’émettre vers SCEPman pour obtenir un nouveau certificat.
