O objetivo do CollectAllLogs é coletar de forma rápida e fácil uma lista muito extensa de logs, configurações de registro e uma variedade de outros dados de diagnóstico de um único dispositivo ou coleção de dispositivos. O script CollectAllLogs foi projetado para ser enviado aos clientes usando o recurso Executar Scripts do Microsoft Endpoint Configuration Manager (MECM/SCCM/ConfigMgr). CollectAllLogs também funciona em clientes que estão conectados remotamente por meio do Cloud Management Gateway (CMG) (somente com PKI. HTTP aprimorado ainda não é compatível, pois o cliente irá coletar, mas não fazer upload). Depois que o script CollectAllLogs for enviado a um cliente usando a funcionalidade Executar Scripts, o cliente reunirá, compactará e carregará um arquivo ZIP compactado (usando BITS) para o ponto de gerenciamento atualmente atribuído ao cliente. Finalmente, uma mensagem de status será enviada, acionando uma regra de filtro de status no servidor do site que move o arquivo ZIP compactado do Ponto de Gerenciamento para um caminho local configurável ou compartilhamento UNC de sua escolha.
Nota: Este script ainda não foi testado exaustivamente em uma hierarquia (com CAS). Se você tiver um CAS, precisará editar a linha 73 de MoveLogToPrimary.ps1 para refletir onde deseja que seus logs sejam armazenados. Forneça feedback se você testar a solução em uma hierarquia.
Os logs, configurações de registro e dados de diagnóstico que podem ser coletados atualmente são os seguintes:
MECM | Atualização do Windows | SO básico | MDM | Office365 | Terceiros |
---|---|---|---|---|---|
Registros do cliente MECM | Versão do agente do Windows Update, fontes de instalação, histórico de instalação, configurações de registro e GPO | Configuração do Windows | Saída da ferramenta de diagnóstico MDM (provisionamento, registro, piloto automático) | Registros do OneDrive | Exclusões do antivírus Symantec |
Chaves de registro do cliente MECM | Atualizações de borda | Dispositivos e drivers PNP | Logs de eventos do MDM | ||
Cliente Móvel.TCF | CBS.LOG | Drivers de filtro | Provisionamento de dispositivos AAD | ||
CCMStore.SDF | Logs de eventos (Sistema/Aplicativo/Bitlocker) | Políticas do Intune, status de inscrição e registros de extensão de gerenciamento | |||
Executando Processos e Serviços | |||||
Pacotes de idiomas | |||||
Otimização de entrega | |||||
Manutenção e configuração do WindowsLogs de diagnóstico | |||||
DISM.LOG | |||||
WaaS | |||||
Corrupção do Registro.POL 1 | |||||
Logs, preferências e dados de diagnóstico do Windows Defender 2 | |||||
Informações de disco/volume | |||||
Valores do Registro de Instalação do Windows | |||||
Loja BCD | |||||
1 Sabe-se que a corrupção do REGISTRY.POL faz com que os GPOs e as atualizações de software falhem indefinidamente até serem resolvidos. A corrupção do Registry.POL geralmente é causada por exclusões de antivírus, não o excluindo.
2 Consulte Coletar dados de diagnóstico do Microsoft Defender AV para obter mais detalhes.
Primeiro, comece revisando as linhas 24 a 37 em CollectAllLogs .ps1 para determinar se há algum log desnecessário. Se houver, defina-os como 'Não' para que essa coleta não aconteça. Caso contrário, tudo será 'Sim' por padrão, exceto as exclusões do Symantec Antivirus.
Copie o arquivo Microsoft.ConfigurationManagement.Messaging.dll de < ConfigMgr Installation Dir AdminConsolebin para < ConfigMgr Installation Dir >CCMIncomingMessagingDll em cada ponto de gerenciamento. O CCMIncoming já deve existir em cada MP, mas o diretório MessagingDll precisará ser criado.
Na Biblioteca de Software, crie um novo Run Script usando o conteúdo do script CollectAllLogs .ps1 e aprove-o. Se você não conseguir aprovar seu próprio script, há uma caixa de seleção nas Configurações de hierarquia para permitir isso. ALTERAR ESTA CONFIGURAÇÃO DEVE SER UMA DECISÃO DE NEGÓCIO . Como prática recomendada, aprove seus próprios scripts apenas se você for um perfeccionista comprovado ou se tiver um verdadeiro laboratório.
Coloque o script MoveLogtoPrimary.ps1 no servidor do site primário em um diretório de sua escolha - doravante denominado < ScriptsDir >.
Crie um diretório para logs - doravante denominado < CollectAllLogs Dir >. < CollectAllLogs Dir > pode ser um caminho local no servidor do site ou um caminho UNC em um servidor remoto. O único requisito é que a conta do computador do servidor do site tenha direitos de criação para esse compartilhamento de destino.
No console de administração do ConfigMgr, vá para Administração, Sites, selecione o site e clique em Regras de filtro de status e em 'Criar'.
Na guia Geral , crie uma regra de filtro de status com ID de mensagem 1234 .
Na guia Ações , marque a caixa Executar um programa .
Digite a seguinte linha de comando no espaço em branco do Programa e clique em OK .
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File "< ScriptsDir >MoveLogtoPrimary.ps1" -InsString1 %msgis01 -InsString2 %msgis02 -LogFolder < CollectAllLogs Dir>
Clique com o botão direito em um único dispositivo ou em uma coleção de dispositivos no console MECM. Na Biblioteca de software, clique em Executar script .
Selecione o script Collect All Logs criado na etapa 2 e clique em Next duas vezes.
Monitore o caminho usado para < CollectAllLogs Dir > para um arquivo .zip após cerca de 5 minutos contendo todos os arquivos solicitados, logs de eventos, exportações de registro e informações do sistema que serão nomeados < ComputerNameMM-DD-YYYYHHMMS>.zip . Em meu laboratório, esses arquivos zip variam de 12 MB a 60 MB, dependendo dos dados coletados, das configurações de retenção do histórico de log e das configurações do log de eventos. Recomenda-se testar isso em coleções menores (<10 clientes) para determinar qual impacto, se houver, será percebido pelo usuário final e pelos supervisores da rede.
Se você tiver alguma ideia adicional para coletar registros ou outros diagnósticos, sinta-se à vontade para contribuir com este maravilhoso utilitário.
O script CollectAllLogs foi desenvolvido pelos engenheiros de clientes da Microsoft, Russ Rimmerman e David Anderson. CollectAllLogs não existiria sem a ideia original e o roteiro inicial totalmente funcional fornecido pelo brilhante e destemido Guru do MECM David Anderson, PFE/CE. O domínio de David em scripts Powershell facilitou o encanamento completo e a base inicial deste utilitário.
MPDetection*.log mostra atualizações de versão de produto, mecanismo, serviço e definição e tempos de atualização. MSSupportFiles.cab contém uma quantidade significativa de arquivos detalhados para análise da integridade e das atividades do Windows Defender.