# Servidor Windows

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

Pode usar o módulo SCEPmanClient do PowerShell para solicitar certificados para o seu servidor Windows. Consulte o artigo principal do módulo para conhecer 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 da entidade de serviço numa máquina que poderia ser usada para solicitar certificados arbitrários.

Portanto, se o seu cenário inclui a implementação de um certificado usando o Certificate Master, 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 irá encontrar certificados a expirar no próximo mês e usá-los para autenticar o pedido de renovação.

## Pedido inicial

Se quiser solicitar certificados inicialmente no seu servidor, pode fazê-lo fornecendo uma entidade de serviço para autenticação que tenha a função **CSR DB Requesters** atribuída. Consulte o seguinte guia sobre como implementar essa entidade de serviço:

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

Se agora quisermos renovar um certificado, podemos desconsiderar a entidade de serviço e usar um certificado já emitido para autenticação. Isto utilizará os detalhes do certificado existente para construir um novo CSR e emiti-lo para o SCEPman para um novo certificado.
