# Serveur Windows

{% hint style="info" %}
Applicable à la version 2.9 de SCEPman et supé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 peut ne pas être souhaitable de stocker les informations d'identification du principal de service sur une machine qui pourrait être utilisée pour demander des certificats arbitraires.

Ainsi, 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 trouvera les certificats expirant le mois prochain et l'utilisera pour authentifier la demande de renouvellement.

## Demande initiale

Si vous souhaitez demander des certificats sur votre serveur initialement, vous pouvez le faire en fournissant un principal de service pour l'authentification qui possède le rôle **CSR DB Requesters** assigné. Veuillez consulter le guide suivant sur la manière d'implémenter 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 souhaitons 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'envoyer à SCEPman pour délivrer un nouveau certificat.
