Windows 업데이트 클라이언트 로그를 일반 텍스트로 변환하려면 어떻게 해야 합니까?

Windows 업데이트 클라이언트 로그를 일반 텍스트로 변환하려면 어떻게 해야 합니까?

Windows 10에서 Windows 업데이트 클라이언트는 이전 버전의 Windows에서처럼 텍스트 파일에 쓰는 대신 이벤트 추적을 사용합니다. 이로 인해 클라이언트 시스템의 문제 해결이 어려워질 수 있습니다.

Get-WindowsUpdateLog cmdlet이 항상 작동하는 것은 아닙니다. 특히, 원격으로 실행할 때나 대상 머신이 인터넷에 직접 접속할 수 없는 경우에는 제대로 작동하지 않는 것 같습니다. 원인이 명확하지 않은 다른 문제에 대한 보고도 보았습니다.

더 안정적이고 유연한 옵션이 있습니까?

답변1

에서 시작1709년오프라인 상태(읽기: 기호 서버에 액세스할 수 없음)는 더 이상 책임이 되어서는 안 됩니다. 그냥 사용할 수 있습니다Get-WindowsUpdateLog-LogPath .\WindowsUpdate.log파워쉘에서.

또는 마음에 들지 않으면 다음을 따르세요.

FOR %i IN (C:\Windows\Logs\WindowsUpdate\*.etl) DO tracerpt %i -of csv -o %~ni.csv
copy *.csv WindowsUpdate.csv

(tracerpt는 ~4000개 이상의 항목이 포함된 단일 로그 파일을 생성하는 것으로 어떻게든 제한되어 있는 것 같습니다)

답변2

Windows Server 2016 또는 Windows 2016 LTSB의 경우,이 마이크로소프트 기사Get-WindowsUpdateLogMicrosoft 기호 서버에 액세스할 수 없는 컴퓨터에서 명령을 사용하는 방법을 설명합니다 .

가장 간단한 옵션은 C:\Windows\Logs\WindowsUpdate오프라인 컴퓨터의 .etl 파일을 (온라인) 관리 컴퓨터로 복사한 다음 옵션을 사용하여 -ETLPath복사 Get-WindowsUpdateLog된 파일을 가리키는 것입니다.

답변3

이 답변은 더 이상 작동하지 않습니다. 삭제 취소 날짜:미르의 부탁그리고 향후 연구의 참고자료가 될 수 있기 때문입니다. 사용미르의 대답또는나의 새로운 대답대신에.

아래 설명된 대로 사용하는 방법은 tracefmtMicrosoft 블로그 게시물을 기반으로 했으며 2018년 초에 게시했을 때는 작동했지만 그 해 후반에 작동이 중단되었습니다. Windows 1709 이상에서도 더 이상 작동하지 않는 것 같습니다.


tracefmtWindows 10 SDK를 사용하여 이벤트 추적 로그를 일반 텍스트로 변환할 수 있습니다 .

C:\Windows\Logs\WindowsUpdate먼저 대상 컴퓨터 의 파일을 관리 컴퓨터의 편리한 위치에 복사합니다 .

명령줄 창을 열고 추적 파일의 복사본이 포함된 디렉터리로 변경한 후 다음 명령을 실행합니다.

for %i in (*.etl) do "c:\Program Files (x86)\Windows Kits\10\bin\x64\tracefmt.exe" -o %~ni.txt -r srv*c:\symbols*https://msdl.microsoft.com/download/symbols %i

관리 머신에는 Windows 10 SDK가 설치되어 있어야 하며 직접 인터넷에 액세스할 수 있어야 합니다. Windows 10 자체를 실행할 필요는 없습니다.

그런 다음 로그를 단일 파일로 결합할 수 있습니다.

copy *.txt WindowsUpdate.log

관련 정보