Instalar no Windows
Pré-requisitos
- Windows Server 2016+ (64-bit)
- PowerShell 5.1 ou superior
certutil.exeecertreq.exepresentes (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:
| Requisito | Descrição |
|---|---|
| Membro de Domain Users | Não precisa de administrador local |
| Request Certificates na CA | Para submeter CSRs |
| Read na CA e nos templates | Para listar e baixar certificados |
| Enroll nos templates alvo | Para emitir certificados com cada template |
| Logon como serviço | Se rodar como serviço Windows |
Leitura/escrita em C:\clm-agent\ | Para logs e configuração |
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)
- Acesse Agents no menu lateral
- Clique em Install Agent
- 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-userouservice-user@domain.local - Service account password — opcional no Windows; se deixado em branco, será solicitado interativamente no servidor (mais seguro)
- Agent Name — identificador único para este agente, ex:
- Clique em Generate Pairing Code
- 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 x64clm-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
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.