CollectAllLogs 의 목적은 단일 장치 또는 장치 모음에서 매우 광범위한 로그 목록, 레지스트리 설정 및 기타 다양한 진단 데이터를 빠르고 쉽게 수집하는 것입니다. CollectAllLogs 스크립트는 Microsoft 끝점 구성 관리자(MECM/SCCM/ConfigMgr)의 스크립트 실행 기능을 사용하여 클라이언트에 푸시되도록 설계되었습니다. CollectAllLogs CMG(클라우드 관리 게이트웨이)를 통해 원격으로 연결된 클라이언트에서도 작동합니다(PKI만 사용. 클라이언트가 수집하지만 업로드하지 않으므로 향상된 HTTP는 아직 지원되지 않음). CollectAllLogs 스크립트가 스크립트 실행 기능을 사용하여 클라이언트에 푸시되면 클라이언트는 클라이언트에 현재 할당된 관리 지점에 압축된 ZIP 파일(BITS 사용)을 수집, 압축 및 업로드합니다. 마지막으로 압축된 ZIP 파일을 관리 지점에서 구성 가능한 로컬 경로 또는 선택한 UNC 공유로 이동하는 사이트 서버의 상태 필터 규칙을 트리거하는 상태 메시지가 전송됩니다.
참고: 이 스크립트는 아직 계층 구조(CAS 포함)에서 철저하게 테스트되지 않았습니다. CAS가 있는 경우 로그를 저장할 위치를 반영하도록 MoveLogToPrimary.ps1의 73행을 편집해야 합니다. 계층 구조에서 솔루션을 테스트하는 경우 피드백을 제공해 주세요.
현재 수집할 수 있는 로그, 레지스트리 설정, 진단 데이터는 다음과 같습니다.
MECM | 윈도우 업데이트 | 기본 OS | MDM | 오피스365 | 제3자 |
---|---|---|---|---|---|
MECM 클라이언트 로그 | Windows 업데이트 에이전트 버전, 설치 소스, 설치 기록, 레지스트리 및 GPO 설정 | 윈도우 설치 | MDM 진단 도구(프로비저닝, 등록, 자동 조종 장치) 출력 | OneDrive 로그 | 시만텍 안티바이러스 제외 |
MECM 클라이언트 레지스트리 키 | 엣지 업데이트 | PNP 장치 및 드라이버 | MDM 이벤트 로그 | ||
모바일클라이언트.TCF | CBS.로그 | 필터 드라이버 | AAD 장치 프로비저닝 | ||
CCM스토어.SDF | 이벤트 로그(시스템/응용 프로그램/Bitlocker) | Intune 정책, 등록 상태 및 관리 확장 로그 | |||
프로세스 및 서비스 실행 | |||||
언어 팩 | |||||
배달 최적화 | |||||
Windows 서비스 및 설치 진단 로그 | |||||
DISM.LOG | |||||
WaaS | |||||
Registry.POL 손상 1 | |||||
Windows Defender 로그, 기본 설정 및 진단 데이터 2 | |||||
디스크/볼륨 정보 | |||||
Windows 설치 레지스트리 값 | |||||
BCD 스토어 | |||||
1 REGISTRY.POL 손상으로 인해 해결될 때까지 GPO 및 소프트웨어 업데이트가 무기한 실패하는 것으로 알려져 있습니다. Registry.POL 손상은 일반적으로 이를 제외하지 않는 바이러스 백신 제외로 인해 발생합니다.
2 자세한 내용은 Microsoft Defender AV 진단 데이터 수집을 참조하세요.
먼저 CollectAllLogs .ps1의 24~37행을 검토하여 필요하지 않은 로그가 있는지 확인하세요. 있는 경우 약간의 수집이 발생하지 않도록 '아니요'로 설정합니다. 그렇지 않으면 Symantec Antivirus 제외를 제외한 모든 것이 기본적으로 '예'입니다.
각 관리 지점의 < ConfigMgr Installation Dir AdminConsolebin에서 < ConfigMgr Installation Dir >CCMIncomingMessagingDll로 Microsoft.ConfigurationManagement.Messaging.dll 파일을 복사합니다. CCMIncoming은 이미 각 MP에 있어야 하지만 MessagingDll 디렉터리를 만들어야 합니다.
소프트웨어 라이브러리에서 CollectAllLogs .ps1 스크립트의 내용을 사용하여 새 실행 스크립트를 생성하고 승인합니다. 자신의 스크립트를 승인할 수 없는 경우 계층 설정에 확인란을 선택하여 승인할 수 있습니다. 이 구성을 변경하는 것은 비즈니스 결정이어야 합니다 . 가장 좋은 방법은 입증된 완벽주의자이거나 진정한 랩이 있는 경우에만 자신의 스크립트를 승인하는 것입니다.
MoveLogtoPrimary.ps1 스크립트를 기본 사이트 서버의 선택한 디렉터리(앞으로 < ScriptsDir > 참조)에 배치합니다.
로그용 디렉터리를 만듭니다. 앞으로는 < CollectAllLogs Dir >이라고 합니다. < CollectAllLogs Dir >은 사이트 서버의 로컬 경로이거나 원격 서버의 UNC 경로일 수 있습니다. 유일한 요구 사항은 사이트 서버의 컴퓨터 계정에 이 대상 공유에 대한 생성 권한이 있어야 한다는 것입니다.
ConfigMgr 관리 콘솔에서 관리, 사이트로 이동하여 사이트를 선택하고 상태 필터 규칙 및 '만들기'를 클릭합니다.
일반 탭에서 메시지 ID가 1234 인 상태 필터 규칙을 만듭니다.
작업 탭에서 프로그램 실행 상자를 선택합니다.
프로그램 공백에 다음 명령줄을 입력하고 확인 을 클릭합니다.
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File "< ScriptsDir >MoveLogtoPrimary.ps1" -InsString1 %msgis01 -InsString2 %msgis02 -LogFolder < CollectAllLogs Dir>
MECM 콘솔에서 단일 장치 또는 장치 모음을 마우스 오른쪽 버튼으로 클릭합니다. 소프트웨어 라이브러리에서 스크립트 실행을 클릭합니다.
2단계에서 생성한 Collect All Logs 스크립트를 선택하고 다음을 두 번 클릭합니다.
약 5분 후에 < ComputerNameMM-DD-YYYYHHMMS>.zip 이라는 이름의 요청된 모든 파일, 이벤트 로그, 레지스트리 내보내기 및 시스템 정보가 포함된 .zip 파일에 대해 < CollectAllLogs Dir >에 사용된 경로를 모니터링합니다. 내 연구실에서 이러한 zip 파일의 크기는 수집된 데이터, 로그 기록 보존 설정 및 이벤트 로그 설정에 따라 12MB에서 60MB 사이입니다. 최종 사용자와 네트워크 감독자가 어떤 영향을 발견할지 결정하기 위해 소규모 컬렉션(클라이언트 10명 미만)에서 이를 테스트하는 것이 좋습니다.
수집할 로그 또는 기타 진단에 대한 추가 아이디어가 있는 경우 언제든지 이 멋진 유틸리티에 기여해 주시기 바랍니다.
CollectAllLogs 스크립트는 Microsoft 고객 엔지니어인 Russ Rimmerman과 David Anderson이 개발했습니다. CollectAllLogs 훌륭하고 용감한 MECM 전문가 David Anderson(PFE/CE)이 제공하는 독창적인 아이디어와 완전한 기능의 시작 스크립트 없이는 존재하지 않을 것입니다. David는 Powershell 스크립팅에 능숙하여 이 유틸리티의 완벽한 배관 및 초기 기반을 쉽게 만들었습니다.
MPDetection*.log에는 제품, 엔진, 서비스 및 정의 버전 업데이트와 업데이트 시간이 표시됩니다. MSSupportFiles.cab에는 Windows Defender 상태 및 활동 분석을 위한 상당한 양의 심층 파일이 포함되어 있습니다.