L'objectif de CollectAllLogs est de collecter rapidement et sans effort une liste très complète de journaux, de paramètres de registre et de diverses autres données de diagnostic à partir d'un seul appareil ou d'un ensemble d'appareils. Le script CollectAllLogs est conçu pour être transmis aux clients à l'aide de la fonctionnalité Exécuter des scripts de Microsoft Endpoint Configuration Manager (MECM/SCCM/ConfigMgr). CollectAllLogs fonctionne également sur les clients connectés à distance via Cloud Management Gateway (CMG) (avec PKI uniquement. HTTP amélioré n'est pas encore pris en charge car le client collectera, mais ne téléchargera pas). Une fois que le script CollectAllLogs est transmis à un client à l'aide de la fonctionnalité Exécuter les scripts, le client rassemblera, compressera et téléchargera un fichier ZIP compressé (à l'aide de BITS) vers le point de gestion actuellement attribué au client. Enfin, un message d'état sera envoyé qui déclenchera une règle de filtrage d'état sur le serveur de site qui déplace le fichier ZIP compressé du point de gestion vers un chemin local configurable ou un partage UNC de votre choix.
Remarque : Ce script n'a pas encore été testé de manière approfondie dans une hiérarchie (avec un CAS). Si vous disposez d'un CAS, vous devrez modifier la ligne 73 de MoveLogToPrimary.ps1 pour refléter l'endroit où vous souhaitez que vos journaux soient stockés. Veuillez fournir vos commentaires si vous testez la solution dans une hiérarchie.
Les journaux, paramètres de registre et données de diagnostic qui peuvent actuellement être collectés sont les suivants :
| MECM | Mise à jour Windows | Système d'exploitation de base | MDM | Bureau365 | Tiers |
|---|---|---|---|---|---|
| Journaux des clients MECM | Version de l'agent Windows Update, sources d'installation, historique d'installation, paramètres de registre et GPO | Installation de Windows | Sortie de l'outil de diagnostic MDM (provisionnement, inscription, pilote automatique) | Journaux OneDrive | Exclusions de l'antivirus Symantec |
| Clés de registre client MECM | Mises à jour Edge | Périphériques et pilotes PNP | Journaux d'événements MDM | ||
| MobileClient.TCF | CBS.LOG | Pilotes de filtre | Approvisionnement des appareils AAD | ||
| CCMStore.SDF | Journaux d'événements (Système/Application/Bitlocker) | Stratégies Intune, statut d’inscription et journaux d’extension de gestion | |||
| Exécution de processus et de services | |||||
| Packs de langue | |||||
| Optimisation de la livraison | |||||
| Journaux de maintenance et de configuration Windows | |||||
| DISM.LOG | |||||
| WaaS | |||||
| Corruption du registre.POL 1 | |||||
| Journaux, préférences et données de diagnostic Windows Defender 2 | |||||
| Informations sur le disque/volume | |||||
| Valeurs du registre d'installation de Windows | |||||
| Boutique BCD | |||||
1 La corruption de REGISTRY.POL est connue pour entraîner l'échec indéfini des GPO et des mises à jour logicielles jusqu'à ce qu'elles soient résolues. La corruption de Registry.POL est généralement causée par des exclusions antivirus qui ne l'excluent pas.
2 Voir Collecter les données de diagnostic Microsoft Defender AV pour plus de détails.
Tout d’abord, commencez par examiner les lignes 24 à 37 dans CollectAllLogs .ps1 pour déterminer s’il existe des journaux dont vous n’avez pas besoin. Si tel est le cas, réglez-les sur « Non » afin que cette partie de la collecte n'ait pas lieu. Sinon, tout est « Oui » par défaut, à l'exception des exclusions de Symantec Antivirus.
Copiez le fichier Microsoft.ConfigurationManagement.Messaging.dll de < ConfigMgr Installation Dir AdminConsolebin vers < ConfigMgr Installation Dir >CCMIncomingMessagingDll sur chaque point de gestion. Le CCMIncoming devrait déjà exister sur chaque MP, mais le répertoire MessagingDll devra être créé.
Dans la bibliothèque de logiciels, créez un nouveau script d'exécution en utilisant le contenu du script CollectAllLogs .ps1 et approuvez-le. Si vous ne parvenez pas à approuver votre propre script, une case à cocher dans les paramètres de hiérarchie vous permet de le faire. CHANGER CETTE CONFIGURATION DEVRAIT ÊTRE UNE DÉCISION COMMERCIALE . Il est recommandé d'approuver vos propres scripts uniquement si vous êtes un perfectionniste confirmé ou si vous disposez d'un véritable laboratoire.
Placez le script MoveLogtoPrimary.ps1 sur le serveur de site principal dans un répertoire de votre choix - désormais appelé < ScriptsDir >.
Créez un répertoire pour les journaux - désormais appelé < CollectAllLogs Dir >. < CollectAllLogs Dir > peut être soit un chemin local sur le serveur de site, soit un chemin UNC sur un serveur distant. La seule exigence est que le compte d’ordinateur du serveur de site dispose des droits de création sur ce partage de destination.
Dans la console d'administration ConfigMgr, accédez à Administration, Sites, sélectionnez le site, puis cliquez sur Règles de filtre d'état et sur « Créer ».
Sous l'onglet Général , créez une règle de filtrage de statut avec l'ID de message 1234 .
Dans l'onglet Actions , cochez la case Exécuter un programme .
Entrez la ligne de commande suivante dans le champ Programme et cliquez sur Ok .
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File "< ScriptsDir >MoveLogtoPrimary.ps1" -InsString1 %msgis01 -InsString2 %msgis02 -LogFolder < CollectAllLogs Dir>
Cliquez avec le bouton droit sur un seul appareil ou sur un ensemble d’appareils dans la console MECM. Dans la bibliothèque de logiciels, cliquez sur Exécuter le script .
Sélectionnez le script Collecter tous les journaux créé à l'étape 2 et cliquez deux fois sur Suivant .
Surveillez le chemin utilisé pour < CollectAllLogs Dir > pour un fichier .zip après environ 5 minutes contenant tous les fichiers demandés, les journaux d'événements, les exportations de registre et les informations système qui seront nommés < ComputerNameMM-DD-YYYYHHMMS>.zip . Dans mon laboratoire, la taille de ces fichiers zip varie de 12 Mo à 60 Mo en fonction des données collectées, des paramètres de conservation de l'historique des journaux et des paramètres du journal des événements. Il est recommandé de tester cela sur des collections plus petites (<10 clients) pour déterminer quel impact, le cas échéant, sera remarqué par l'utilisateur final et les superviseurs du réseau.
Si vous avez des idées supplémentaires de journaux ou d'autres diagnostics à collecter, n'hésitez pas à contribuer à ce merveilleux utilitaire.
Le script CollectAllLogs a été développé par les ingénieurs clients Microsoft Russ Rimmerman et David Anderson. CollectAllLogs n'existerait pas sans l'idée originale et le script de démarrage entièrement fonctionnel fournis par le brillant et intrépide gourou MECM David Anderson, PFE/CE. La maîtrise de David des scripts Powershell a facilité la plomberie complète et la fondation initiale de cet utilitaire.
MPDetection*.log affiche les mises à jour et les heures de mise à jour des versions de produits, de moteurs, de services et de définitions. MSSupportFiles.cab contient une quantité importante de fichiers approfondis pour l’analyse de l’état et des activités de Windows Defender.