El propósito de CollectAllLogs es recopilar de manera rápida y sin esfuerzo una lista muy extensa de registros, configuraciones de registro y una variedad de otros datos de diagnóstico de un solo dispositivo o colección de dispositivos. El script CollectAllLogs está diseñado para enviarse a los clientes mediante la función Ejecutar scripts de Microsoft Endpoint Configuration Manager (MECM/SCCM/ConfigMgr). CollectAllLogs también funciona en clientes que están conectados de forma remota a través de Cloud Management Gateway (CMG) (solo con PKI. HTTP mejorado aún no es compatible ya que el cliente recopilará, pero no cargará). Una vez que el script CollectAllLogs se envía a un cliente mediante la funcionalidad Ejecutar scripts, el cliente recopilará, comprimirá y cargará un archivo ZIP comprimido (usando BITS) en el punto de administración actualmente asignado al cliente. Finalmente, se enviará un mensaje de estado que activa una regla de filtro de estado en el servidor del sitio que mueve el archivo ZIP comprimido desde el punto de administración a una ruta local configurable o recurso compartido UNC de su elección.
Nota: Este script aún no se ha probado exhaustivamente en una jerarquía (con un CAS). Si tiene un CAS, deberá editar la línea 73 de MoveLogToPrimary.ps1 para reflejar dónde desea almacenar sus registros. Envíe sus comentarios si prueba la solución en una jerarquía.
Los registros, la configuración del registro y los datos de diagnóstico que se pueden recopilar actualmente son los siguientes:
| MECM | Actualización de Windows | SO básico | DM | Oficina365 | Tercero |
|---|---|---|---|---|---|
| Registros de cliente MECM | Versión del agente de Windows Update, fuentes de instalación, historial de instalación, registro y configuración de GPO | Configuración de Windows | Salida de la herramienta de diagnóstico MDM (aprovisionamiento, inscripción, piloto automático) | Registros de OneDrive | Exclusiones de Symantec Antivirus |
| Claves de registro del cliente MECM | Actualizaciones perimetrales | Dispositivos y controladores PNP | Registros de eventos de MDM | ||
| Cliente Móvil.TCF | CBS.LOG | Controladores de filtro | Aprovisionamiento de dispositivos AAD | ||
| CCMStore.SDF | Registros de eventos (Sistema/Aplicación/Bitlocker) | Políticas de Intune, estado de inscripción y registros de extensiones de administración | |||
| Ejecución de procesos y servicios | |||||
| Paquetes de idiomas | |||||
| Optimización de entrega | |||||
| Registros de diagnóstico de configuración y mantenimiento de Windows | |||||
| DISM.LOG | |||||
| WaaS | |||||
| Corrupción en Registry.POL 1 | |||||
| Registros, preferencias y datos de diagnóstico de Windows Defender 2 | |||||
| Información de disco/volumen | |||||
| Valores del Registro de instalación de Windows | |||||
| Tienda BCD | |||||
1 Se sabe que la corrupción de REGISTRY.POL hace que los GPO y las actualizaciones de software fallen indefinidamente hasta que se resuelvan. La corrupción de Registry.POL suele deberse a exclusiones de antivirus que no lo excluyen.
2 Consulte Recopilar datos de diagnóstico de AV de Microsoft Defender para obtener más detalles.
Primero, comience revisando las líneas 24 a 37 en CollectAllLogs .ps1 para determinar si hay registros que no necesita. Si los hay, configúrelos en 'No' para que no se realice esa parte de la recopilación. De lo contrario, todo es "Sí" de forma predeterminada, excepto las exclusiones de Symantec Antivirus.
Copie el archivo Microsoft.ConfigurationManagement.Messaging.dll de < Directorio de instalación de ConfigMgr AdminConsolebin a < Directorio de instalación de ConfigMgr >CCMIncomingMessagingDll en cada punto de administración. CCMIncoming ya debería existir en cada MP, pero será necesario crear el directorio MessagingDll.
En la Biblioteca de software, cree un nuevo script de ejecución utilizando el contenido del script CollectAllLogs .ps1 y apruebe. Si no puede aprobar su propio script, hay una casilla de verificación en Configuración de jerarquía que se lo permite. CAMBIAR ESTA CONFIGURACIÓN DEBE SER UNA DECISIÓN EMPRESARIAL . Como práctica recomendada, solo apruebe sus propios guiones si es un perfeccionista comprobado o si tiene un verdadero laboratorio.
Coloque el script MoveLogtoPrimary.ps1 en el servidor del sitio principal en un directorio de su elección, denominado en adelante < ScriptsDir >.
Cree un directorio para registros; en adelante, se denominará < CollectAllLogs Dir >. < CollectAllLogs Dir > puede ser una ruta local en el servidor del sitio o una ruta UNC en un servidor remoto. El único requisito es que la cuenta de computadora del servidor del sitio tenga derechos de creación para este recurso compartido de destino.
En la Consola de administración de ConfigMgr, vaya a Administración, Sitios, seleccione el sitio y haga clic en Reglas de filtro de estado y "Crear".
En la pestaña General , cree una regla de filtro de estado con ID de mensaje 1234 .
En la pestaña Acciones , marque la casilla Ejecutar un programa .
Ingrese la siguiente línea de comando en el espacio en blanco Programa y haga clic en Aceptar .
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File "< ScriptsDir >MoveLogtoPrimary.ps1" -InsString1 %msgis01 -InsString2 %msgis02 -LogFolder < CollectAllLogs Dir>
Haga clic derecho en un solo dispositivo o en una colección de dispositivos en la consola MECM. En la biblioteca de software, haga clic en Ejecutar script .
Seleccione el script Recopilar todos los registros creado en el paso 2 y haga clic en Siguiente dos veces.
Supervise la ruta utilizada para < CollectAllLogs Dir > para un archivo .zip después de aproximadamente 5 minutos que contenga todos los archivos solicitados, registros de eventos, exportaciones de registro e información del sistema que se denominará < ComputerNameMM-DD-YYYYHHMMS>.zip . En mi laboratorio, estos archivos zip varían de 12 MB a 60 MB de tamaño según los datos recopilados, la configuración de retención del historial de registros y la configuración del registro de eventos. Se recomienda probar esto en colecciones más pequeñas (<10 clientes) para determinar qué impacto, si corresponde, notará el usuario final y los supervisores de la red.
Si tiene alguna idea adicional para recopilar registros u otros diagnósticos, no dude en contribuir a esta maravillosa utilidad.
El script CollectAllLogs fue desarrollado por los ingenieros de clientes de Microsoft Russ Rimmerman y David Anderson. CollectAllLogs no existiría sin la idea original y el script inicial completamente funcional proporcionado por el brillante e intrépido MECM Guru David Anderson, PFE/CE. El dominio de David de las secuencias de comandos de Powershell facilitó la instalación completa y la base inicial de esta utilidad.
MPDetection*.log muestra las actualizaciones y los tiempos de actualización de la versión del producto, motor, servicio y definición. MSSupportFiles.cab contiene una cantidad significativa de archivos detallados para analizar el estado y las actividades de Windows Defender.