Der Zweck von CollectAllLogs besteht darin, schnell und mühelos eine sehr umfangreiche Liste von Protokollen, Registrierungseinstellungen und einer Vielzahl anderer Diagnosedaten von einem einzelnen Gerät oder einer Gerätegruppe zu sammeln. Das CollectAllLogs -Skript ist so konzipiert, dass es mithilfe der Funktion „Skripts ausführen“ von Microsoft Endpoint Configuration Manager (MECM/SCCM/ConfigMgr) an Clients gesendet wird. CollectAllLogs funktioniert auch auf Clients, die über das Cloud Management Gateway (CMG) remote verbunden sind (nur mit PKI. Erweitertes HTTP wird noch nicht unterstützt, da der Client zwar sammelt, aber nicht hochlädt). Sobald das CollectAllLogs -Skript mithilfe der Funktion „Skripts ausführen“ an einen Client übertragen wird, sammelt, komprimiert und lädt der Client eine komprimierte ZIP-Datei (mithilfe von BITS) auf den aktuell zugewiesenen Verwaltungspunkt des Clients hoch. Abschließend wird eine Statusmeldung gesendet, die eine Statusfilterregel auf dem Standortserver auslöst, die die komprimierte ZIP-Datei vom Verwaltungspunkt auf einen konfigurierbaren lokalen Pfad oder eine UNC-Freigabe Ihrer Wahl verschiebt.
Hinweis: Dieses Skript wurde noch nicht gründlich in einer Hierarchie (mit einem CAS) getestet. Wenn Sie über ein CAS verfügen, müssen Sie Zeile 73 von MoveLogToPrimary.ps1 bearbeiten, um anzugeben, wo Ihre Protokolle gespeichert werden sollen. Bitte geben Sie Feedback, wenn Sie die Lösung in einer Hierarchie testen.
Folgende Protokolle, Registrierungseinstellungen und Diagnosedaten können derzeit erfasst werden:
MECM | Windows-Update | Basisbetriebssystem | MDM | Office365 | Dritter |
---|---|---|---|---|---|
MECM-Clientprotokolle | Windows Update Agent-Version, Installationsquellen, Installationsverlauf, Registrierung und GPO-Einstellungen | Windows-Setup | Ausgabe des MDM-Diagnosetools (Bereitstellung, Registrierung, Autopilot). | OneDrive-Protokolle | Ausschlüsse von Symantec Antivirus |
MECM-Client-Registrierungsschlüssel | Edge-Updates | PNP-Geräte und Treiber | MDM-Ereignisprotokolle | ||
MobileClient.TCF | CBS.LOG | Filtertreiber | AAD-Gerätebereitstellung | ||
CCMStore.SDF | Ereignisprotokolle (System/Anwendung/Bitlocker) | Intune-Richtlinien, Registrierungsstatus und Verwaltungserweiterungsprotokolle | |||
Ausführen von Prozessen und Diensten | |||||
Sprachpakete | |||||
Lieferoptimierung | |||||
Windows-Wartungs- und SetupDiag-Protokolle | |||||
DISM.LOG | |||||
WaaS | |||||
Registry.POL-Beschädigung 1 | |||||
Windows Defender-Protokolle, -Einstellungen und -Diagnosedaten 2 | |||||
Festplatten-/Volume-Info | |||||
Windows Setup-Registrierungswerte | |||||
BCD-Shop | |||||
1 Es ist bekannt, dass eine Beschädigung von REGISTRY.POL dazu führt, dass GPOs und Software-Updates auf unbestimmte Zeit fehlschlagen, bis sie behoben werden. Die Beschädigung von Registry.POL wird typischerweise durch Antiviren-Ausschlüsse verursacht, die sie nicht ausschließen.
2 Weitere Einzelheiten finden Sie unter Erfassen von Microsoft Defender AV-Diagnosedaten.
Überprüfen Sie zunächst die Zeilen 24–37 in CollectAllLogs .ps1, um festzustellen, ob Protokolle vorhanden sind, die Sie nicht benötigen. Wenn dies der Fall ist, setzen Sie sie auf „Nein“, damit dieser Teil der Erfassung nicht stattfindet. Ansonsten ist standardmäßig alles „Ja“, mit Ausnahme der Symantec Antivirus-Ausschlüsse.
Kopieren Sie die Datei Microsoft.ConfigurationManagement.Messaging.dll von < ConfigMgr-Installationsverzeichnis AdminConsolebin nach < ConfigMgr-Installationsverzeichnis >CCMIncomingMessagingDll auf jedem Verwaltungspunkt. Das Verzeichnis CCMIncoming sollte bereits auf jedem MP vorhanden sein, das Verzeichnis MessagingDll muss jedoch erstellt werden.
Erstellen Sie in der Softwarebibliothek ein neues Ausführungsskript mit den Inhalten des Skripts „ CollectAllLogs .ps1“ und genehmigen Sie es. Wenn Sie Ihr eigenes Skript nicht genehmigen können, gibt es in den Hierarchieeinstellungen ein Kontrollkästchen, das Ihnen dies ermöglicht. DIE ÄNDERUNG DIESER KONFIGURATION SOLLTE EINE GESCHÄFTLICHE ENTSCHEIDUNG SEIN . Als bewährte Vorgehensweise genehmigen Sie Ihre eigenen Skripte nur, wenn Sie ein ausgewiesener Perfektionist sind oder über ein echtes Labor verfügen.
Platzieren Sie das Skript „MoveLogtoPrimary.ps1“ auf dem primären Standortserver in einem Verzeichnis Ihrer Wahl – künftig als < ScriptsDir > bezeichnet.
Erstellen Sie ein Verzeichnis für Protokolle – künftig als < CollectAllLogs Dir > bezeichnet. < CollectAllLogs Dir > kann entweder ein lokaler Pfad auf dem Standortserver oder ein UNC-Pfad auf einem Remoteserver sein. Die einzige Voraussetzung besteht darin, dass das Computerkonto des Standortservers über Erstellungsrechte für diese Zielfreigabe verfügen muss.
Gehen Sie in der ConfigMgr-Administratorkonsole zu „Administration“, „Sites“, wählen Sie die Site aus und klicken Sie auf „Statusfilterregeln“ und „Erstellen“.
Erstellen Sie auf der Registerkarte „Allgemein“ eine Statusfilterregel mit der Nachrichten-ID 1234 .
Aktivieren Sie auf der Registerkarte „Aktionen “ das Kontrollkästchen „Programm ausführen“ .
Geben Sie die folgende Befehlszeile in das leere Programmfeld ein und klicken Sie auf „OK“ .
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File "< ScriptsDir >MoveLogtoPrimary.ps1" -InsString1 %msgis01 -InsString2 %msgis02 -LogFolder < CollectAllLogs Dir>
Klicken Sie mit der rechten Maustaste auf ein einzelnes Gerät oder eine Sammlung von Geräten in der MECM-Konsole. Klicken Sie in der Softwarebibliothek auf „Skript ausführen“ .
Wählen Sie das in Schritt 2 erstellte Skript „Alle Protokolle sammeln“ aus und klicken Sie zweimal auf „Weiter“ .
Überwachen Sie den für < CollectAllLogs Dir > verwendeten Pfad nach etwa 5 Minuten auf eine ZIP-Datei, die alle angeforderten Dateien, Ereignisprotokolle, Registrierungsexporte und Systeminformationen enthält und den Namen <ComputerNameMM-DD-YYYYHHMMS>.zip trägt. In meinem Labor haben diese ZIP-Dateien eine Größe von 12 MB bis 60 MB, abhängig von den erfassten Daten, den Einstellungen für die Aufbewahrung des Protokollverlaufs und den Einstellungen für das Ereignisprotokoll. Es wird empfohlen, dies an kleineren Sammlungen (<10 Clients) zu testen, um festzustellen, welche Auswirkungen der Endbenutzer und die Netzwerkaufsicht gegebenenfalls bemerken werden.
Wenn Sie weitere Ideen zum Sammeln von Protokollen oder anderen Diagnosedaten haben, tragen Sie gerne zu diesem wunderbaren Dienstprogramm bei.
Das CollectAllLogs -Skript wurde von den Microsoft-Kundeningenieuren Russ Rimmerman und David Anderson entwickelt. CollectAllLogs würde ohne die ursprüngliche Idee und das voll funktionsfähige Startskript des brillanten und furchtlosen MECM-Guru David Anderson, PFE/CE, nicht existieren. Davids Beherrschung der Powershell-Skripterstellung erleichterte die vollständige Installation und anfängliche Gründung dieses Dienstprogramms.
MPDetection*.log zeigt Produkt-, Engine-, Service- und Definitionsversionsaktualisierungen und Aktualisierungszeiten. MSSupportFiles.cab enthält eine beträchtliche Menge detaillierter Dateien zur Analyse des Zustands und der Aktivitäten von Windows Defender.