Problema
Dispositivos Windows inativos raramente desaparecem de todos os sistemas de gerenciamento ao mesmo tempo. Um único computador pode deixar um objeto no Active Directory, um dispositivo no Microsoft Entra ID, um registro gerenciado no Intune, uma inscrição no Autopilot e estado operacional armazenado localmente.
Excluir registros apenas pelo nome do computador ou por um único timestamp de inatividade é inseguro. Nomes podem ser reutilizados, registros em nuvem podem permanecer defasados em relação às alterações locais e uma operação Retire do Intune pode remover o registro gerenciado antes que o ciclo de vida completo seja concluído.
O DeviceLifecycle foi criado para responder a uma pergunta mais rigorosa: existem evidências consistentes o suficiente para alterar essa identidade de dispositivo com segurança?
Solução
DeviceLifecycle é uma automação em PowerShell que correlaciona registros entre Active Directory, Entra ID e Intune, avalia múltiplos sinais de atividade e conduz os dispositivos elegíveis por um ciclo de vida controlado.
O fluxo possui três modos de operação:
ReportOnlyinventaria e classifica os dispositivos sem realizar alterações administrativas;Quarantineexecuta contenção reversível, retirando o registro do Intune, desabilitando a conta no AD e movendo-a para uma OU de quarentena;Enforcepermite a remoção final somente depois dos períodos configurados de retenção e limpeza da nuvem.
Registros ambíguos, duplicados, incompletos ou protegidos são enviados para revisão manual em vez de serem alterados automaticamente.
Arquitetura
A cadeia de correlação utiliza identificadores estáveis das plataformas, e não apenas nomes de computadores:
- o SID do computador no AD é comparado ao
onPremisesSecurityIdentifierno Entra ID; - o
deviceIddo Entra é comparado aoazureADDeviceIddo Intune; - os timestamps de atividade e o estado do ciclo de vida são avaliados de acordo com limites configuráveis.
Cada execução gera um relatório CSV atual, relatórios individuais, logs de execução e um arquivo JSON persistente. Esse estado preserva identificadores e timestamps mesmo quando uma ação remove um registro de origem.
A automação também pode iniciar uma sincronização delta do Microsoft Entra Connect após mudanças no diretório. A OU de quarentena permanece intencionalmente dentro do escopo de sincronização para impedir que a movimentação provoque uma exclusão imediata e não planejada na nuvem.
Segurança e recuperação
O projeto foi desenvolvido para falhar de forma segura:
ReportOnlyé o modo padrão;- servidores, controladores de domínio, o host de execução, dispositivos Autopilot, objetos protegidos e exceções configuradas são excluídos;
- correspondências de identidade ausentes ou ambíguas impedem ações automáticas;
- dados de atividade não confiáveis geram revisão manual;
MaximumActionsPerRunlimita o impacto operacional;- caminhos destrutivos suportam PowerShell
-WhatIf; - as permissões podem ser delegadas somente nas OUs gerenciada e de quarentena;
- a limpeza residual no Entra ocorre apenas depois da remoção do objeto no AD;
- dispositivos em quarentena possuem um fluxo explícito de recuperação.
A recuperação é deliberadamente administrativa, e não automática. O script de restauração pode reabilitar a conta no AD, devolvê-la à OU de produção, limpar o estado do ciclo de vida, iniciar a sincronização e apoiar a revalidação do hybrid join e do enrollment no Intune.
Capacidades operacionais
- inicialização do ambiente e validação de pré-requisitos;
- execução agendada como
SYSTEM; - relatórios, quarentena e imposição progressivos;
- limites configuráveis de inatividade e retenção;
- relatórios CSV e evidências de execução;
- estado persistente do ciclo de vida;
- classificações para revisão manual;
- procedimentos de recuperação e desinstalação completa;
- integração opcional somente leitura pelo DeviceLifecycle-API.
Estado atual
O repositório contém a automação completa, o template de configuração, módulo auxiliar, instalador, registro da tarefa agendada, testes do ambiente, ferramentas de recuperação, desinstalação, política de segurança, changelog e documentação bilíngue de arquitetura.
A versão pública foi sanitizada para portfólio e reutilização. IDs de tenant, credenciais, hostnames, referências de certificados, nomes organizacionais e permissões delegadas específicas permanecem fora do controle de versão.
O que o projeto demonstra
DeviceLifecycle demonstra automação orientada à produção, na qual o principal desafio de engenharia não é executar comandos administrativos, mas definir quando o software possui evidências suficientes para agir. Seus princípios centrais são correlação conservadora de identidades, aplicação progressiva, menor privilégio, capacidade de recuperação, limitação de ações e preservação de evidências operacionais.