วัตถุประสงค์ของ CollectAllLogs คือการรวบรวมรายการบันทึก การตั้งค่ารีจิสทรี และข้อมูลการวินิจฉัยอื่นๆ ที่หลากหลายอย่างรวดเร็วและง่ายดายจากอุปกรณ์เดียวหรือคอลเลกชันของอุปกรณ์ สคริปต์ CollectAllLogs ได้รับการออกแบบมาเพื่อส่งไปยังไคลเอนต์โดยใช้คุณสมบัติ เรียกใช้สคริปต์ ของ Microsoft Endpoint Configuration Manager (MECM/SCCM/ConfigMgr) CollectAllLogs ยังทำงานบนไคลเอนต์ที่เชื่อมต่อระยะไกลผ่าน Cloud Management Gateway (CMG) (ด้วย PKI เท่านั้น HTTP ที่ปรับปรุงแล้วยังไม่รองรับเนื่องจากไคลเอนต์จะรวบรวม แต่ไม่ได้อัปโหลด) เมื่อสคริปต์ CollectAllLogs ถูกพุชไปยังไคลเอนต์โดยใช้ฟังก์ชันการทำงานสคริปต์เรียกใช้ ไคลเอนต์จะรวบรวม บีบอัด และอัพโหลดไฟล์ ZIP ที่บีบอัด (โดยใช้ BITS) ไปยังจุดการจัดการที่ได้รับมอบหมายในปัจจุบันของไคลเอนต์ สุดท้าย ข้อความสถานะจะถูกส่งไปซึ่งจะทริกเกอร์กฎตัวกรองสถานะบนเซิร์ฟเวอร์ไซต์ที่จะย้ายไฟล์ ZIP ที่บีบอัดจากจุดการจัดการไปยังเส้นทางภายในเครื่องที่กำหนดค่าได้หรือการแบ่งปัน UNC ที่คุณเลือก
หมายเหตุ: สคริปต์นี้ยังไม่ได้รับการทดสอบอย่างละเอียดในลำดับชั้น (ด้วย CAS) หากคุณมี CAS คุณจะต้องแก้ไขบรรทัดที่ 73 ของ MoveLogToPrimary.ps1 เพื่อสะท้อนถึงตำแหน่งที่คุณต้องการจัดเก็บบันทึก โปรดให้ข้อเสนอแนะหากคุณทดสอบโซลูชันในลำดับชั้น
บันทึก การตั้งค่ารีจิสทรี และข้อมูลการวินิจฉัยซึ่งสามารถรวบรวมได้ในปัจจุบันมีดังนี้:
เอ็มซีเอ็ม | วินโดวส์อัพเดต | ระบบปฏิบัติการพื้นฐาน | เอ็มดีเอ็ม | ออฟฟิศ365 | บุคคลที่สาม |
---|---|---|---|---|---|
บันทึกไคลเอ็นต์ MECM | เวอร์ชัน Windows Update Agent, แหล่งที่มาของการติดตั้ง, ประวัติการติดตั้ง, การตั้งค่ารีจิสทรีและ GPO | การตั้งค่าวินโดวส์ | เอาต์พุตเครื่องมือวินิจฉัย MDM (การจัดเตรียม การลงทะเบียน ระบบอัตโนมัติ) | บันทึก OneDrive | การยกเว้นโปรแกรมป้องกันไวรัสของไซแมนเทค |
คีย์รีจิสทรีของไคลเอ็นต์ MECM | การอัปเดตขอบ | อุปกรณ์และไดรเวอร์ PNP | บันทึกเหตุการณ์ MDM | ||
MobileClient.TCF | CBS.LOG | กรองไดรเวอร์ | การจัดเตรียมอุปกรณ์ AAD | ||
CCMStore.SDF | บันทึกเหตุการณ์ (ระบบ/แอปพลิเคชัน/Bitlocker) | นโยบาย Intune สถานะการลงทะเบียน และบันทึกส่วนขยายการจัดการ | |||
กระบวนการทำงานและบริการ | |||||
ชุดภาษา | |||||
การเพิ่มประสิทธิภาพการจัดส่ง | |||||
การบริการ Windows และบันทึกการตั้งค่า Diag | |||||
DISM.ล็อก | |||||
วาส | |||||
Registry.POL ความเสียหาย 1 | |||||
บันทึก Windows Defender การตั้งค่า และข้อมูลการวินิจฉัย 2 | |||||
ข้อมูลดิสก์/วอลุ่ม | |||||
ค่ารีจิสทรีการตั้งค่า Windows | |||||
ร้านบีซีดี | |||||
1 เป็นที่ทราบกันดีว่าการทุจริตของ REGISTRY.POL ทำให้ GPO และการอัปเดตซอฟต์แวร์ล้มเหลวอย่างไม่มีกำหนดจนกว่าจะได้รับการแก้ไข โดยทั่วไปความเสียหายของ Registry.POL เกิดจากการยกเว้นของโปรแกรมป้องกันไวรัสที่ไม่ได้ยกเว้น
2 ดูการรวบรวมข้อมูลการวินิจฉัย Microsoft Defender AV สำหรับรายละเอียดเพิ่มเติม
ขั้นแรก ให้เริ่มต้นด้วยการตรวจสอบบรรทัดที่ 24-37 ใน CollectAllLogs .ps1 เพื่อดูว่ามีบันทึกใดๆ ที่คุณไม่ต้องการหรือไม่ หากมี ให้ตั้งค่าเป็น 'ไม่' เพื่อที่การเก็บรวบรวมจะไม่เกิดขึ้น มิฉะนั้น ทุกอย่างจะเป็น 'ใช่' ตามค่าเริ่มต้น ยกเว้น Symantec Antivirus Exclusions
คัดลอกไฟล์ Microsoft.ConfigurationManagement.Messaging.dll จาก < ConfigMgr Installation Dir AdminConsolebin ไปยัง < ConfigMgr Installation Dir >CCMIncomingMessagingDll บนแต่ละจุดการจัดการ CCMIncoming ควรมีอยู่แล้วในแต่ละ MP แต่จำเป็นต้องสร้างไดเร็กทอรี MessagingDll
ในไลบรารีซอฟต์แวร์ ให้สร้าง Run Script ใหม่โดยใช้เนื้อหาของสคริปต์ CollectAllLogs .ps1 และอนุมัติ หากคุณไม่สามารถอนุมัติสคริปต์ของคุณเองได้ จะมีช่องทำเครื่องหมายในการตั้งค่าลำดับชั้นเพื่อให้คุณอนุญาตได้ การเปลี่ยนแปลงการกำหนดค่านี้ควรเป็นการตัดสินใจทางธุรกิจ ตามแนวทางปฏิบัติที่ดีที่สุด ให้อนุมัติสคริปต์ของคุณเองเฉพาะในกรณีที่คุณเป็นพวกชอบความสมบูรณ์แบบที่ได้รับการพิสูจน์แล้ว หรือคุณมีห้องทดลองที่แท้จริง
วางสคริปต์ MoveLogtoPrimary.ps1 ลงในเซิร์ฟเวอร์ไซต์หลักในไดเร็กทอรีที่เลือก - นับจากนี้ไปจะเรียกว่า < ScriptsDir >
สร้างไดเร็กทอรีสำหรับบันทึก - นับจากนี้ไปจะเรียกว่า < CollectAllLogs Dir > < CollectAllLogs Dir > อาจเป็นเส้นทางภายในเครื่องบนเซิร์ฟเวอร์สำหรับไซต์ หรือเส้นทาง UNC บนเซิร์ฟเวอร์ระยะไกล ข้อกำหนดเพียงอย่างเดียวคือบัญชีคอมพิวเตอร์ของเซิร์ฟเวอร์ไซต์ต้องมีสิทธิ์ในการสร้างการแชร์ปลายทางนี้
ในคอนโซลผู้ดูแลระบบ ConfigMgr ไปที่การดูแลระบบ ไซต์ เลือกไซต์ แล้วคลิกกฎตัวกรองสถานะ และ 'สร้าง'
บนแท็บ ทั่วไป สร้างกฎตัวกรองสถานะด้วยรหัสข้อความ 1234
บนแท็บ การดำเนินการ ให้เลือกช่อง เรียกใช้โปรแกรม
ป้อนบรรทัดคำสั่งต่อไปนี้ลงใน โปรแกรม ว่างแล้วคลิก ตกลง
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -บายพาส ExecutionPolicy -ไฟล์ "< ScriptsDir >MoveLogtoPrimary.ps1" -InsString1 %msgis01 -InsString2 %msgis02 -LogFolder < CollectAllLogs Dir>
คลิกขวาที่อุปกรณ์เดียวหรือชุดอุปกรณ์ในคอนโซล MECM ในไลบรารีซอฟต์แวร์ คลิก เรียกใช้สคริปต์
เลือกสคริปต์ Collect All Logs ที่สร้างขึ้นในขั้นตอนที่ 2 และคลิก Next สองครั้ง
ตรวจสอบเส้นทางที่ใช้สำหรับ < CollectAllLogs Dir > สำหรับไฟล์ .zip หลังจากผ่านไปประมาณ 5 นาที ซึ่งมีไฟล์ที่ร้องขอ บันทึกเหตุการณ์ การส่งออกรีจิสทรี และข้อมูลระบบซึ่งจะตั้งชื่อว่า < ComputerNameMM-DD-YYYYHHMMS>.zip ในแล็บของฉัน ไฟล์ ZIP เหล่านี้มีขนาดตั้งแต่ 12MB ถึง 60MB ขึ้นอยู่กับข้อมูลที่รวบรวม การตั้งค่าการเก็บรักษาประวัติบันทึก และการตั้งค่าบันทึกเหตุการณ์ ขอแนะนำให้ทดสอบสิ่งนี้กับคอลเลกชันขนาดเล็ก (<10 ไคลเอนต์) เพื่อพิจารณาว่าผู้ใช้ปลายทางและผู้ดูแลเครือข่ายจะสังเกตเห็นผลกระทบใด (ถ้ามี)
หากคุณมีแนวคิดเพิ่มเติมเกี่ยวกับบันทึกหรือการวินิจฉัยอื่นๆ ที่จะรวบรวม โปรดอย่าลังเลที่จะมีส่วนร่วมในยูทิลิตี้ที่ยอดเยี่ยมนี้
สคริปต์ CollectAllLogs ได้รับการพัฒนาโดยวิศวกรลูกค้าของ Microsoft Russ Rimmerman และ David Anderson CollectAllLogs จะไม่มีอยู่จริงหากไม่มีแนวคิดดั้งเดิมและสคริปต์เริ่มต้นที่ทำงานได้อย่างสมบูรณ์ซึ่งจัดทำโดย MECM Guru David Anderson, PFE/CE ที่เก่งกาจและกล้าหาญ ความเชี่ยวชาญด้านการเขียนสคริปต์ Powershell ของ David ช่วยให้การวางท่อประปาที่สมบูรณ์และเป็นรากฐานเบื้องต้นของยูทิลิตี้นี้
MPDetection*.log แสดงผลิตภัณฑ์ กลไก บริการ และการอัปเดตเวอร์ชันข้อกำหนดและเวลาในการอัปเดต MSSupportFiles.cab มีไฟล์เชิงลึกจำนวนมากสำหรับการวิเคราะห์ความสมบูรณ์และกิจกรรมของ Windows Defender