Pular para o conteúdo principal

Instalar no Windows


Pré-requisitos

  • Windows Server 2016+ (64-bit)
  • PowerShell 5.1 ou superior
  • certutil.exe e certreq.exe presentes (padrão no Windows Server)
  • Conectividade de saída TCP 443 para o CLM
  • Conta de serviço com as permissões necessárias no AD CS

Conta de serviço

Para uso com AD CS, a conta de serviço do agente precisa:

RequisitoDescrição
Membro de Domain UsersNão precisa de administrador local
Request Certificates na CAPara submeter CSRs
Read na CA e nos templatesPara listar e baixar certificados
Enroll nos templates alvoPara emitir certificados com cada template
Logon como serviçoSe rodar como serviço Windows
Leitura/escrita em C:\clm-agent\Para logs e configuração
Agente no mesmo servidor que o AD CS
Se o agente for instalado no próprio servidor AD CS, a conta de serviço já tem acesso local à CA e a configuração fica mais simples. Em produção, recomenda-se manter o agente em um servidor separado.

Instalação via Quick Install (recomendado)

  1. Acesse Agents no menu lateral
  2. Clique em Install Agent
  3. Na aba Quick Install, preencha:
    • Agent Name — identificador único para este agente, ex: prod-server-01
    • Run agent under a service account — marque esta opção se for usar com AD CS
    • Service account — informe a conta no formato DOMAIN\service-user ou service-user@domain.local
    • Service account password — opcional no Windows; se deixado em branco, será solicitado interativamente no servidor (mais seguro)
  4. Clique em Generate Pairing Code
  5. Copie o comando gerado e execute em uma sessão PowerShell elevada no servidor de destino

O script realiza automaticamente:

  • Download do binário clm-agent.exe
  • Criação do arquivo C:\clm-agent\config.yaml
  • Registro como Windows Scheduled Task (CLMAgent)
  • Início automático do agente

Após alguns segundos, o agente aparecerá com status Online na tela de Agents.

Se você preencher a senha no formulário, ela será embutida no comando e ficará visível no histórico do PowerShell. Para maior segurança, deixe o campo em branco e informe a senha interativamente quando solicitado no servidor.

Instalação manual (ambientes sem internet)

Use este método quando o servidor de destino não tem acesso à internet durante a instalação.

1. Crie o agente no CLM

Acesse Agents → Install Agent → Quick Install, preencha o nome e clique em Generate Pairing Code. Salve o token gerado — ele é exibido apenas uma vez.

2. Baixe o binário

Na aba Manual Setup, baixe o executável para a arquitetura do servidor:

  • clm-agent-windows-amd64.exe (~7 MB) — para servidores x64
  • clm-agent-windows-arm64.exe (~6 MB) — para servidores ARM64

Transfira o arquivo para o servidor via SCP, USB ou mirror interno.

3. Prepare o diretório

New-Item -ItemType Directory -Path 'C:\clm-agent' -Force | Out-Null
Move-Item -Path .\clm-agent-windows-<arch>.exe -Destination 'C:\clm-agent\clm-agent.exe' -Force

4. Crie o arquivo de configuração

Salve como C:\clm-agent\config.yaml:

server:
url: "wss://SEU-DOMINIO-CLM/api/agent/connect"
token: "agent_COLE_O_TOKEN_AQUI"

agent:
name: "nome-do-servidor"
heartbeat_interval: 30
reconnect_delay: 5
max_reconnect_delay: 300

5. Registre como Scheduled Task

Execute em PowerShell elevado:

$action = New-ScheduledTaskAction -Execute 'C:\clm-agent\clm-agent.exe' `
-Argument '--config C:\clm-agent\config.yaml' `
-WorkingDirectory 'C:\clm-agent'
$trigger = New-ScheduledTaskTrigger -AtStartup
$principal = New-ScheduledTaskPrincipal -UserId 'SYSTEM' -RunLevel Highest
$settings = New-ScheduledTaskSettingsSet -RestartCount 999 `
-RestartInterval (New-TimeSpan -Minutes 1) `
-ExecutionTimeLimit (New-TimeSpan -Hours 0)
Register-ScheduledTask -TaskName 'CLMAgent' -Action $action -Trigger $trigger `
-Principal $principal -Settings $settings
Start-ScheduledTask -TaskName 'CLMAgent'

Gerenciar o agente

Execute em uma sessão PowerShell elevada no servidor:

Verificar status

Get-ScheduledTask -TaskName 'CLMAgent' | Get-ScheduledTaskInfo

Iniciar

Start-ScheduledTask -TaskName 'CLMAgent'

Parar

Stop-ScheduledTask -TaskName 'CLMAgent'

Reiniciar

Stop-ScheduledTask -TaskName 'CLMAgent'; Start-Sleep -Seconds 2; Start-ScheduledTask -TaskName 'CLMAgent'

Ver logs em tempo real

Get-Content 'C:\clm-agent\agent.log' -Tail 50 -Wait

Rotacionar token

Gere um novo token na linha do agente em Agents → Rotate Token, atualize o config.yaml e reinicie:

notepad 'C:\clm-agent\config.yaml'
Stop-ScheduledTask -TaskName 'CLMAgent'; Start-ScheduledTask -TaskName 'CLMAgent'

Desinstalar

Stop-ScheduledTask -TaskName 'CLMAgent' -ErrorAction SilentlyContinue
Unregister-ScheduledTask -TaskName 'CLMAgent' -Confirm:$false
Remove-Item -Path 'C:\clm-agent' -Recurse -Force
note
Desinstalar o agente do servidor não remove o registro no CLM. Use a ação **Delete** na linha do agente em **Agents** para remover o registro da plataforma também.