INVENTARIO AUTOMATICO - ANDROID E WINDOWS
PREFEITURA MUNICIPAL DE EXTREMA
=========================================

1. ARQUITETURA

- Android: painel inventario_equipamentos.php, API /api/tablets e aplicativo
  Agente TI Extrema.
- Windows: painel inventario_computadores.php, API /api/computadores e agente
  Agente TI Extrema Windows.
- O inventario Windows vincula patrimonio, serial ou hostname ao cadastro
  ti_computadores existente. Nao cria um segundo cadastro quando encontra o ativo.
- Cada aparelho recebe Agent ID e token exclusivos. O servidor guarda apenas o hash.

2. INSTALACAO DO MODULO WINDOWS NO SERVIDOR

1. Publique todos os arquivos do projeto e mantenha HTTPS valido.
2. Entre como Renan e abra instalar_inventario_pc.php.
3. Execute o instalador uma vez. Ele e idempotente.
4. Apague instalar_inventario_pc.php do servidor depois da confirmacao.
5. Abra inventario_pc_config.php e defina intervalos, alertas e versao atual.

Se preferir importar o SQL pelo administrador do banco, use
SQL_INVENTARIO_WINDOWS.sql. Ainda assim, abra o instalador ou a configuracao como
Renan para gerar o primeiro codigo temporario.

3. PRIMEIRO COMPUTADOR WINDOWS

1. Em inventario_pc_config.php, gere codigo para 1 uso e 24 horas.
2. Baixe downloads/Agente-TI-Extrema-Windows.zip.
3. Extraia o ZIP no computador.
4. Execute Instalar-Agente-TI.ps1. O script solicita elevacao administrativa.
5. Informe URL como https://dominio/manutencao_ti/api/computadores.
6. Informe codigo, patrimonio, responsavel e setor.
7. Confira a maquina em inventario_computadores.php.

4. IMPLANTACAO EM VARIOS COMPUTADORES

- Gere codigo com quantidade exatamente igual ao lote e validade curta.
- Distribua o ZIP em compartilhamento restrito, GPO, Intune ou ferramenta interna.
- Execute a instalacao em contexto administrativo.
- Nao grave codigo temporario ou token em script publico.
- Em dominio, use grupo de seguranca da TI e audite o resultado no painel.

5. EXECUCAO E PROTECAO WINDOWS

- O agente verifica no boot e a cada 15 minutos; sincroniza no intervalo definido
  no servidor (15, 30, 60 ou 120 minutos).
- A tarefa roda como SYSTEM e nao abre janelas durante a operacao normal.
- Programa, configuracao DPAPI e tarefa exigem privilegio administrativo para
  alteracao. O programa aparece em Aplicativos instalados e no Agendador de Tarefas.
- Administradores continuam capazes de remover o agente. Isso e necessario para
  suporte, conformidade e resposta a incidentes.
- Para remocao: revogue primeiro na ficha web e depois use Aplicativos instalados
  ou Desinstalar-Agente-TI.ps1 como administrador.

6. ANDROID E CONTROLE DE DESINSTALACAO

Um APK instalado manualmente nao pode impedir legitimamente sua desinstalacao.
Para tablets corporativos bloqueados, use Android Enterprise em modo Device Owner,
provisionado durante a configuracao inicial ou apos restauracao de fabrica. Esse
modo exige politica organizacional e ferramenta de gerenciamento; nao deve ser
simulado por aplicativo oculto. O Agente TI Extrema permanece visivel e auditavel.

7. ASSINATURA DE PRODUCAO

- Android: assine Agente-TI-Extrema.apk com a keystore institucional e preserve a
  mesma chave para atualizacoes futuras.
- Windows: antes da distribuicao ampla, assine Agente-TI-Extrema-Windows.exe e os
  scripts com certificado de assinatura de codigo da Prefeitura. O executavel atual
  e funcional, mas nao possui certificado institucional.
- Nunca armazene senhas de certificados no codigo, ZIP ou servidor web.

8. DADOS COLETADOS

Identificacao do equipamento, fabricante, modelo, serial, Windows/build,
arquitetura, processador, memoria, disco, GPU, IP/MAC, dominio, ultimo usuario,
uptime, BitLocker, antivirus e versao do agente. Nao sao coletados arquivos,
documentos, conteudo de mensagens, teclas, tela, camera, microfone ou navegacao.

9. DIAGNOSTICO

No Windows, em prompt administrativo:

  Agente-TI-Extrema-Windows.exe status
  Agente-TI-Extrema-Windows.exe diagnostic
  Agente-TI-Extrema-Windows.exe sync

Logs sem token ficam em:
  C:\ProgramData\PrefeituraExtrema\AgenteTIWindows\agent.log

O servidor deve retornar JSON e possuir certificado HTTPS valido.
