제거된 프로그램이 WMI 개체 “WIN32_InstalledStoreProgram”에 계속 표시됩니까?

제거된 프로그램이 WMI 개체 “WIN32_InstalledStoreProgram”에 계속 표시됩니까?

참고: 이 게시물은 StackOverflow의 원본 게시물을 다시 게시한 것입니다. 도움이 되는 사용자의 안내를 받아 여기에 다시 게시하고 있습니다.

이 귀찮은 문제로 인해 처음으로 StackOverflow 계정을 만들었습니다. 저는 몇 가지 새로운 절차를 테스트하기 위해 현재 직장에서 테스트 PC VM의 취약점을 해결하고 있었는데, 취약점 중 하나는 사전 설치된 응용 프로그램인 "Paint3D"(특히 QID 91774관심있는 분들을 위해). 간단히 말해서, 취약점은 단순히 "오래된 앱 버전"이었습니다. Paint3D를 최신 버전으로 업데이트하고 Powershell로 확인한 후, 취약점 관리 소프트웨어가 Paint3D를 오래된 버전으로 계속 감지하는 것을 발견했습니다. 취약점은 다음과 같이 WMI 개체 "WIN32_InstalledStoreProgram"을 쿼리하여 감지되었습니다. "위협 감지 논리" 방법의 일부최신 버전으로 업데이트한 후에도 이 취약점이 계속 발생하는 것을 확인한 후 설정 > 앱 메뉴를 통해 Paint3D를 간단히 제거했습니다.

Powershell 명령 "Get-WmiObject Win32_InstalledStoreProgram" 및 "Get-WmiObject Win32_InstalledStoreProgram | Format-List -Property Name, Version"을 사용하여 동일한 WMI 개체를 수동으로 쿼리했을 때 제거한 앱(Microsoft.MSPaint)에 대한 항목이 2개 있는 것을 발견했습니다. 하나는 내가 업데이트한 이전 버전이고, 다른 하나는 내가 업데이트한 새 버전이었습니다. 둘 다 제거되었으며 제거된 것으로 확인되었습니다. WMI 개체가 자동으로 업데이트되지 않는지 확인하기 위해 별도의 앱(Weather)을 제거했지만 위 Powershell 명령을 사용하여 제거하고 확인하면 Weather 앱이 제거되어 WMI 개체의 항목으로 제거되는 것으로 확인되었습니다. Microsoft.MSPaint의 두 가지 다른 버전은 그대로 유지되었습니다. 문제가 발생한 경우를 대비해 일반 버전의 "그림판"도 제거했지만 두 항목은 그대로 남아 있습니다.

이제 까다로운 부분입니다. Microsoft Store에서는 Paint3D를 설치하려고 할 때마다 다른 오류 메시지를 표시합니다. 나는 MS Store가 동일한 WMI 개체를 쿼리하고 "Paint3D"의 두 가지 "버전"이 있는 것을 확인하고 아무 것도 설치하지 못하기 때문이라고 생각합니다. 나는 이 작은 문제로 어찌할 바를 모르겠습니다. 제가 구현할 계획인 수정 사항은 이 VM을 지우고 취약점 해결 절차를 계속하는 것뿐이지만, 이런 일이 발생하는 이유와 이 문제의 원인이 무엇인지 정말로 알고 싶습니다. WMI 개체를 수동으로 편집하고 업데이트하는 방법에 대한 일부 문서를 읽었지만 확신을 갖고 효과적으로 작업하기에는 WMI 또는 WMI 개체에 대해 충분히 알지 못합니다. 매우 간단한 작업입니다. Paint3D를 업데이트하거나 제거하면 됩니다. 저는 제가 이런 일을 겪게 될 줄 전혀 몰랐고, 적어도 무슨 일이 일어나고 있는지 알고 싶습니다.

오래된 MSPaint 버전을 표시하는 WMI 개체 캡처 현재 MSPaint 버전을 표시하는 WMI 개체 캡처(Paint3D는 완전히 제거됨)

편집 1, 2021년 9월 1일 오전 12시 20분: 후속 조치로 시스템에서 AD 사용자를 제거하고 깨끗한 로그인을 시도했지만 Paint3D는 여전히 삭제되었고 Microsoft Store는 여전히 작동할 수 없습니다. 이 문제는 해당 특정 데스크탑에만 해당됩니다.

답변1

내 문제는 HEVCVideoExtension과 관련이 있었지만 그 외에는 비슷했습니다. 관리자 PowerShell 프롬프트에서 다음과 같은 방법으로 시도했습니다.

Get-AppxPackage -AllUsers -Name "Microsoft.HEVCVideoExtension"을 사용하여 전체 패키지 이름을 가져옵니다.

전체 패키지 이름으로 Microsoft.HEVCVideoExtension_1.0.41483.0_x64__8wekyb3d8bbwe다음을 시도하십시오.

Remove-AppxPackage -AllUsers -Package "Microsoft.HEVCVideoExtension_1.0.41483.0_x64__8wekyb3d8bbwe"

내 경우에는 이전/오래된 버전의 설치가 더 이상 컴퓨터에 설치되지 않은 사용자 계정으로 수행되었기 때문에 실패했습니다.

그래서 Windows Store 전체를 재설정했습니다.

WSReset.exe

그런 다음 명령을 다시 실행하여 Get-AppxPackage재설정이 작동했는지 확인했습니다. 그랬다.

다음에 Windows Store를 시작했을 때 초기화하는 데 시간이 오래 걸렸지만 제대로 작동했습니다.

답변2

Windows 블로트웨어는 까다로울 수 있습니다. PowerShell을 사용하여 제거해 보세요.

PowerShell을 관리자로 실행한 다음:

Get-AppxPackage Microsoft.MSPaint | 제거-AppxPackage

답변3

여기에 우리에게 도움이 된 솔루션이 있습니다.

오래된 Windows 스토어 앱과 관련된 Sev 4 및 5 취약점이 많이 있었습니다. 보안 검색에서는 이전 버전의 Windows 스토어 애플리케이션이 있다고 불평했습니다. 그리고 WMI 개체를 스캔하여 찾았습니다. 하지만 기계에는 최신 앱이 표시되었습니다. 따라서 앱에는 두 가지 버전(이전 버전과 최신 버전)이 있었습니다. 문제를 해결하는 데 도움이 되지 않았습니다(앱 제거, Windows 스토어 재설정 등).

문제가 어떻게 만들어졌느냐는 이야기가 다르지만… 하지만 해결책은 여기에 있습니다. 댓글 중 하나가 사용자 프로필이 손상된 것으로 나타났습니다.

당신이 가지고 있다고 가정 해 봅시다 :

  • QID: 91698
  • 제목: Microsoft Windows 코덱 라이브러리 원격 코드 실행 취약점
  • 스캔 결과: Microsoft의 취약한 Microsoft.WebpImageExtension이 버전 '1.0.22753.0'을 감지했습니다.

단계:

  1. PowerShell 패키지가 두 개 있는지 확인하세요. Get-WmiObject -class Win32_InstalledStoreProgram | Where-개체 이름 -예: "*WebpImageExtension*"

  2. 이전 패키지 제거

PowerShell: 제거-AppxPackage -AllUsers -Package Microsoft.WebpImageExtension_1.0.22753.0_x64__8wekyb3d8bbwe.

이것은 "마법의" 단계입니다. 0x80070002 오류가 발생하지만 나중에 "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife\S-1-12-XXXXXXX with Troubled packaged"가 필요한 항목이 레지스트리에 생성됩니다. ."

  1. 문제가 있는 패키지가 포함된 레지스트리 키 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife\S-1-12-XXXXXXX를 삭제합니다.

  2. 패키지가 하나만 남아 있는지 확인합니다. PowerShell: Get-WmiObject -class Win32_InstalledStoreProgram | 실행 Where-개체 이름 -예: "*WebpImageExtension*".

관련 정보