Eu estive no seu lugar. Não há uma resposta única que faça tudo.
Você pode gastar muito dinheiro em um produto de descoberta e esperar que ele saiba tudo sobre seus aplicativos. Eles existem e alguns são supostamente bons.
Claro, pode não ser tão bom quanto você precisa ou quer. E nada encontrará a "dependência" introduzida por um script agendado diário ou semanal em um servidor aparentemente não relacionado, que é responsável por extrair um extrato de um sistema de pedidos de trabalho e enviá-lo por FTP para um sistema de folha de pagamento. Ou a linha de fax física na caixa do Linux que você de alguma forma não notou durante o seu inventário ...
Eu gosto muito da resposta de Joe - começando de cada departamento e trabalhando com seus "usuários avançados" (que definitivamente podem não ser "usuários avançados" de computador) é uma parte vital de um projeto de descoberta abrangente. Essa é a abordagem de baixo para cima. Também é nesse local que você encontrará pessoas executando aplicativos essenciais aos negócios em suas próprias máquinas, possivelmente compartilhadas com seu próprio grupo de trabalho.
Outra parte da abordagem é entrar em cada máquina e executar algo que mostre, ou até mesmo melhores registros, conexões TCP e UDP por $ period_of_time e ver se você pode pegar tráfego (portas e terminais, provavelmente não quer um captura de rede completa) relacionada a aplicativos desconhecidos. Da mesma forma com a inventariação de tarefas agendadas, contas de serviço, etc. Essa é a abordagem top-down do BFMI.
Devido à possibilidade de processos assíncronos não orientados à conexão e coisas que não são executadas em servidores (ou aplicativos clientes que simplesmente executam a partir de compartilhamentos de arquivos), não acho que possa haver uma única abordagem automatizada para esse problema. . Vai ser mão-de-obra intensiva para fazer o certo. É claro, você pode simplesmente apontar para 80% e começar a migrar ou descompactar, com comunicação suficiente para capturar as coisas que fazem os usuários gritarem quando quebram.