# Servidor Windows

{% hint style="info" %}
Aplicável à versão 2.9 do SCEPman e superior
{% endhint %}

Você pode usar o módulo PowerShell SCEPmanClient para solicitar certificados para seu servidor Windows. Consulte o artigo principal do módulo para os pré-requisitos:

{% content-ref url="../scepmanclient" %}
[scepmanclient](https://docs.scepman.com/pt/gerenciamento-de-certificados/api-certificates/scepmanclient)
{% endcontent-ref %}

## Descrição do Caso de Uso

Embora o módulo seja capaz de solicitar certificados inicialmente, pode não ser desejável armazenar as credenciais do principal de serviço em uma máquina que possa ser usada para solicitar certificados arbitrários.

Portanto, se seu cenário inclui a implantação de um certificado usando o Certificate Master, você pode renová-lo automaticamente usando *SCEPmanClient* fornecendo um certificado já existente para autenticação:

<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'

# Com o novo certificado em vigor, podemos remover o antigo
# Remove-Item $CertificateToRenew.PSPath
</code></pre>

Este exemplo encontrará certificados que expiram no próximo mês e os usará para autenticar a solicitação de renovação.

## Solicitação Inicial

Se você quiser solicitar certificados no seu servidor inicialmente, pode fazê-lo fornecendo um principal de serviço para autenticação que possua a função **CSR DB Requesters** atribuída. Consulte o guia a seguir sobre como implementar esse principal de serviço:

{% content-ref url="" %}
[](https://docs.scepman.com/pt/gerenciamento-de-certificados/api-certificates/inscricao-via-api)
{% 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
```

Se agora quisermos renovar um certificado, podemos desconsiderar o principal de serviço e usar um certificado já emitido para autenticação. Isso usará os detalhes do certificado existente para construir uma nova CSR e enviá-la ao SCEPman para emitir um novo certificado.
