Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

Component Services 관리자의 RuntimeBroker 설정이 2개 있는 경우

이벤트 로그에 다음과 같은 오류가 있어,

Log Name:      System
Source:        Microsoft-Windows-DistributedCOM
Date:          2019-02-21 오전 8:47:48
Event ID:      10016
Task Category: None
Level:         Error
Keywords:      Classic
User:          TESTPC\TestUser
Computer:      TESTPC
Description:
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID 
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
 and APPID 
{15C20B67-12E7-4BB6-92BB-7AFF07997402}
 to the user TESTPC\TestUser SID (S-1-5-21-332754840-1836100723-1710880654-1001) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.

15C20B67-12E7-4BB6-92BB-7AFF07997402를 찾아 보니 RuntimeBroker입니다. 그래서 권한 조정을 위해 Component Services 콘솔을 들어갔는데 다음과 같이 2개의 RuntimeBroker가 보입니다.

two_runtime_broker_1.png

레지스트리를 검색해 보면, 실제로 2개의 구성 요소가 이름은 같지만 ID 값이 다른 것을 볼 수 있습니다.

첫 번째 있는 RuntimeBroker
HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47c8-AFC4-AB702511C276}
HKEY_CLASSES_ROOT\WOW6432Node\AppID\{9CA88EE3-ACB7-47c8-AFC4-AB702511C276}

두 번째 있는 RuntimeBroker
HKEY_CLASSES_ROOT\AppID\{15c20b67-12e7-4bb6-92bb-7aff07997402}
HKEY_CLASSES_ROOT\WOW6432Node\AppID\{15c20b67-12e7-4bb6-92bb-7aff07997402}

On Windows 10 Pro x64, DCOM Config shows two RuntimeBroker entries
; https://social.technet.microsoft.com/Forums/windows/en-US/58aa5465-7aba-4dcf-bc40-89c2f17cc785/on-windows-10-pro-x64-dcom-config-shows-two-runtimebroker-entries?forum=win10itprogeneral

따라서 15c20b67-12e7-4bb6-92bb-7aff07997402 구성 요소의 레지스트리 권한 조정을 했으면 Component Services 콘솔에서는 그에 영향받는 RuntimeBroker의 권한 조정을 하면 됩니다.




그나저나 이번에 검색하다가 재미있는 것을 알았습니다. ^^

이전 글에서도 설명했듯이, DCOM 객체의 Activation/Launch 권한 조정이 여간 귀찮은 작업이 아닐 수 없습니다. 왜냐하면 Component Services의 설정에 앞서 HKEY_CLASSES_ROOT\AppID 하위 노드의 권한 조정이 필요한데 이 작업을 거치지 않으면 관리자 권한으로 로그인을 했어도 다음과 같은 오류가 발생하기 때문입니다.

Unable to save permission changes on {...guid...}.

Access is denied.

그런데, 이러한 Activation/Launch 설정을 한방에 해결해주는 PowerShell 스크립트가 있습니다.

Grant, Revoke, Get DCOM permissions using PowerShell
; https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

위의 갤러리에서 DCOMPermissions.psm1 파일을 내려받아 PowerShell 프롬프트에서 다음과 같이 가져온 후,

PS C:\Windows\System32> Import-Module c:\temp\DCOMPermissions

Do you want to run software from this untrusted publisher?
File c:\temp\DCOMPermissions.psm1 is published by E=serverteam@edictsystems.com, CN="Edict Systems, Inc.", OU="Edict
Systems, Inc.", O="Edict Systems, Inc.", L=Beavercreek, S=Ohio, C=US and is not trusted on your system. Only run
scripts from trusted publishers.
[V] Never run  [D] Do not run  [R] Run once  [A] Always run  [?] Help (default is "D"): r

이렇게 사용하면 됩니다. ^^

PS C:\Windows\System32> Grant-DCOMPermission -ApplicationID "{15C20B67-12E7-4BB6-92BB-7AFF07997402}" -Account "TestUser" -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions






(2020-09-24: 업데이트) RuntimeBroker의 사용 사례중의 하나인지, 아니면 전용인지 모르겠지만 OneDrive의 동기화에 사용되는 듯합니다. ^^

runtime_broker_instance_1.png


[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 5/14/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2020-09-15 11시58분
[정성현] 안녕하세요. 롤코2를 하다가 화면이 자꾸 멈춰서(드라이버 오류로 추정) 여러것을 건드려 봤다가 선생님의 글을 보고 해법을 거의 찾은 1인입니다. 그런데 파워셀을 하던 도중에 이런 메세지가 뜨더군요...
---
PS C:\Windows\system32> Grant-DCOMPermission -ApplicationID "{15C20B67-12E7-4BB6-92BB-7AFF07997402}" -Account "TestUser" -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions
Wrapper-DComPermission : "1"개의 인수가 있는 "Translate"을(를) 호출하는 동안 예외가 발생했습니다. "ID 참조의 일부 또는
전부를 변환할 수 없습니다."
위치 C:\Users\정성현\Documents\WindowsPowerShell\Modules\DCOMPermissions.psm1:757 문자:5
+ Wrapper-DComPermission -Purpose Grant -ApplicationID $Application ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Wrapper-DComPermission], MethodInvocationException
    + FullyQualifiedErrorId : IdentityNotMappedException,Wrapper-DComPermission
------
조금이라도 힌트를 주신다면 감사하겠습니다!
[guest]
2020-09-16 09시43분
해당 스크립트가 안 되는 것은, 기타 설명할 내용이 더 없습니다. 그렇긴 한데, (현재 그 이벤트 로그의 직접적인 원인은 모르지만) 롤코2라는 프로그램의 오류와는 별 상관이 없을 것이므로 그것에 너무 신경쓰지 않아도 될 것입니다.
정성태
2020-11-14 06시02분
[guest] 좋은 글 감사합니다. 윗분 Account 이름을 자신에 맞게 변경하지 않으신것 같네요.
[guest]
2020-12-24 02시29분
[12312] 파워셀 부분이 이해가 잘 안갑니다.
[guest]
2020-12-24 10시52분
@12312 원래 보안 관련 코드가 어렵긴 합니다.
정성태
2021-12-11 06시11분
[와랄랄] 안녕하세요. 10016 이벤트 오류 찾다가 오류 이벤트 내용이 똑같아서 문의 드려봅니다.
[guest]
2021-12-11 06시19분
[와랄랄] 원드라이브도 프리징이 있어서 삭제했구요. 레지스트리랑 구성 요소 서비스도 건드려봤는데 같은 오류가 계속 반복됩니다. 저는 명령 프롬프트인줄 알고 DCOMPermissions.psm1 도 구해서 Import-Module나 그 다음의 Grant-DCOMPermission도 입력해봤는데. 명령 프롬프트에서는 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아니라고 하는데. 혹시 뭐가 잘못된건지 알수 있을까요. 명령 프롬프트는 관리자권한 실행이었습니다...
[guest]
2021-12-12 08시09분
명령행이긴 한데, PowerShell 환경에서 수행해야 합니다. "powershell"이라고 명령어를 치면 프롬프트가 다음과 같은 식으로 변경이 될 것입니다.

C:\Windows\System32> powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\Windows\System32>
정성태

... 151  152  153  154  155  156  157  158  159  160  [161]  162  163  164  165  ...
NoWriterDateCnt.TitleFile(s)
1023정성태4/20/201130102.NET Framework: 210. Windbg 환경에서 확인해 본 .NET 메서드 JIT 컴파일 전과 후 [1]
1022정성태4/19/201125642디버깅 기술: 38. .NET Disassembly 창에서의 F11(Step-into) 키 동작파일 다운로드1
1021정성태4/18/201127983디버깅 기술: 37. .NET 4.0 응용 프로그램의 Main 함수에 BreakPoint 걸기
1020정성태4/18/201128612오류 유형: 117. Failed to find runtime DLL (mscorwks.dll), 0x80004005
1019정성태4/17/201129252디버깅 기술: 36. Visual Studio의 .NET Disassembly 창의 call 호출에 사용되는 주소의 의미는? [1]파일 다운로드1
1018정성태4/16/201132903오류 유형: 116. 윈도우 업데이트 오류 - 0x8020000E
1017정성태4/14/201127698개발 환경 구성: 115. MSBuild - x86/x64, .NET 2/4, debug/release 빌드에 대한 배치 처리파일 다운로드1
1016정성태4/13/201143738개발 환경 구성: 114. Windows Thin PC 설치 [2]
1015정성태4/9/201129108.NET Framework: 209. AutoReset, ManualReset, Monitor.Wait의 차이파일 다운로드1
1014정성태4/7/2011106531오류 유형: 115. ORA-12516: TNS:listener could not find available handler with matching protocol stack [2]
1013정성태4/7/201124312Team Foundation Server: 45. SharePoint 2010 + TFS 2010 환경에서 ProcessGuidance.html 파일 다운로드 문제
1012정성태4/6/201133044.NET Framework: 208. WCF - 접속된 클라이언트의 IP 주소 알아내는 방법 [1]
1011정성태3/31/201135439오류 유형: 114. 인증서 갱신 오류 - The request contains no certificate template information.
1010정성태3/30/201126193개발 환경 구성: 113. 응용 프로그램 디자인 스케치 도구 - SketchFlow [4]
1009정성태3/29/201138576개발 환경 구성: 112. Visual Studio 2010 - .NET Framework 소스 코드 디버깅 [4]
1008정성태3/27/201130925.NET Framework: 207. C# - Right operand가 음수인 Shift 연산 결과 [2]
1007정성태3/16/201131762개발 환경 구성: 111. Excel - XML 파일 연동 [5]파일 다운로드1
1006정성태3/15/201125531.NET Framework: 206. XML/XSD - 외래키처럼 참조 제한 거는 방법파일 다운로드1
1005정성태3/11/201135340개발 환경 구성: 110. 엑셀 매크로 함수 관련 오류 [2]
1004정성태3/3/201124543개발 환경 구성: 109. SharePoint Health Analyzer 디스크 부족 경고 제어
1003정성태3/3/201125525오류 유형: 113. SQL Server - DB Attach 시 Parameter name: nColIndex 오류 발생
1002정성태3/2/201123903Team Foundation Server: 44. TFS 설치 후, Team Portal의 Dashboard를 빠르게 확인하는 방법
1001정성태3/2/201127991Team Foundation Server: 43. TFS 2010 + SharePoint 2010 설치
1000정성태3/1/201132956오류 유형: 112. Remote FX RDP 연결 시 오류 유형 2가지 [5]
999정성태2/28/201146502개발 환경 구성: 108. RemoteFX - Windows 7 가상 머신에서 DirectX 9c 환경을 제공 [5]
998정성태2/27/201120192Team Foundation Server: 42. TFS Application-Tier만 재설치
... 151  152  153  154  155  156  157  158  159  160  [161]  162  163  164  165  ...