[EventId 10016] PerAppRuntimeBroker のアクセス権を変更する方法【ExecTI】

このサイトを検索 | Search this site
warning
PerAppRuntimeBroker (RuntimeBroker から改名)

イベントID10016 /PerAppRuntimeBroker

イベントID10016 が記録されました。内容は、DistributedCOM (DCOM) と PerAppRuntimeBroker に関連する警告ログです。

このログは、[ログインユーザー] が PerAppRuntimeBroker へのアクセスで問題が発生したことを通知しています。同時に、コンポーネントサービスを利用してアクセス許可を変更できることを示唆しています。

10016イベントは、Microsoft コンポーネントが必要なアクセス許可なしで DCOM コンポーネントにアクセスしようとしたときにログに記録されるものです。

マイクロソフトは、DCOM ログは仕様通りの動作のため無視を推奨しています。ただし、エラーを解消したい場合は、コンポーネントサービスを利用してアクセス許可を変更することができます。

ユーザーによるアクセス許可の変更は、予期しない副作用を引き起こす可能性があるため注意が必要です。

対処法

通知されたログに対応するには、コンポーネントサービスを利用して RuntimeBroker のアクセス許可に「Users」を追加する方法が考えられます。RuntimeBroker の所有者を変更するためにレジストリエディタを使用します。

Windows ビルドによっては RuntimeBroker は2つ見つかることがあります。この記事の対象は APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402} です。



PerAppRuntimeBroker

PC_programming

PerAppRuntimeBroker はWindows 10 v1809までは RuntimeBroker の名前で表示されていたDCOMコンポーネントです。

RuntimeBroker と PerAppRuntimeBroker の関係は次の通りです。

RuntimeBroker と PerAppRuntimeBroker
バージョン名前APPID
v1903PerAppRuntimeBroker{15C20B67-12E7-4BB6-92BB-7AFF07997402}
RuntimeBroker{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
v1809RuntimeBroker{15C20B67-12E7-4BB6-92BB-7AFF07997402}
RuntimeBroker{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

イベントログ

イベントログ
メッセージアプリケーション固有 のアクセス許可の設定では、CLSID
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
 および APPID
{15C20B67-12E7-4BB6-92BB-7AFF07997402}
 の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) のユーザー xxx\yyy SID (S-1-5-21-xxx) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。
ログの名前システム
ソースDistributedCOM (DCOM)
イベントID10016
レベルエラー
ユーザーLocal User (ComputerName\AccountName)
APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402}
APPIDの名前PerAppRuntimeBroker

セキュリティ アクセス許可を変更する

手順概要
  1. ExecTIの準備
  2. ExecTIからコンポーネントサービスを起動する
  3. PerAppRuntimeBrokerを編集する
  4. 以上

ExecTIからコンポーネントサービスを起動する

1-1. ExecTIを入手して起動する

ExecTI はレジストリエディターやコンポーネントサービスをTrustedInstallerとして起動させることができるフリーソフトウェアです。

TrustedInstallerとしてシステムツールを起動する方法|ExecTI

Windows Updateで配信される機能更新プログラムを適用すると、DCOM設定を初期化される場合があります。(RuntimeBrokerなど) RuntimeBroker: {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} ...

1-2. コンポーネントサービスを起動する

コンポーネントサービスを起動するコマンドは [comexp.msc] です。

Openの横のボックスにcomexp.mscと入力してOKをクリックすると TrustedInstaller権限でコンポーネントサービスが起動します。

コンポーネントサービスの外観は通常起動したものと同じなので区別はつきません。

execti-comexp.msc

PerAppRuntimeBrokerのセキュリティ設定を変更する

2-1. APPIDのプロパティを表示する

ExecTI:comexp.msc > コンソールルート > コンポーネントサービス > コンピューター > マイコンピューター > DCOMの構成

コンポーネントサービスの表示モードを「詳細」に切り替えて、名前の列で PerAppRuntimeBroker を探します。

検索機能はありません。

PerAppRuntimeBroker のアプリケーションIDが {15C20B67-12E7-4BB6-92BB-7AFF07997402} となっていることを確認します。

PerAppRuntimeBroker を右クリックしてプロパティを表示します。

Property-PerAppRuntimeBroker
2-2. 起動とアクティブ化のアクセス許可を表示する

PerAppRuntimeBrokerのプロパティ > セキュリティタブ > 起動とアクティブ化のアクセス許可 > 編集

  1. セキュリティタブを表示する
  2. 起動とアクティブ化のアクセス許可の下の「カスタマイズ」にチェックを入れる
  3. 編集をクリックする
    Security-edit
  4. 「Windows セキュリティダイアログ」が表示されるので削除をクリックする
    WindowsSecurity
  5. 起動とアクティブ化のアクセス許可が表示される
    Boot-and-Activate_Permission
2-3. Users を追加する

追加 > 詳細設定 > 検索

  1. [追加] をクリックする
  2. [詳細設定] をクリックする
    Add-AdvanceSettings
  3. 表示されたダイアログから 検索をクリックする
    Select-UserGroup
  4. 検索結果にユーザーとグループが表示されるので、下にスクロールして Users を選択してOKをクリックする
    検索結果 > Users
  5. 「選択するオブジェクト名を入力してください」の下のボックスに xxx\Users が表示されていることを確認したらOKをクリックする
    ユーザーまたはグループの選択
2-4. ローカルからのアクティブ化を有効にする

xxx\Users を選択した状態にして、アクセス許可の下のボックスの「ローカルからのアクティブ化 ☑」にチェックを入れてOKをクリックします。

ローカルからのアクティブ化

手順終了

Windows を再起動します。

Windows サービスには遅延起動するサービスがあるので、PCの起動処理が落ち着いてからイベントビューアーを起動しましょう。

もし、ログの記録が止まらない時は、変更前の状態に戻して放置するしかありません。

マイクロソフトによると、DCOMエラーは コンポーネントが必要なアクセス権を持たない時に記録されるとしており、仕様通りの動作のため気にしないでよいとのことです。

資料

document_list

まとめ

matome
reload
  • ソース:DistributedCOM (DCOM)
  • DCOMイベントは、マイクロソフトは無視を推奨している。
  • DCOMコンポーネントの所有者はTrustedInstaller。
  • ExecTIはDCOMコンポーネントを直接編集可能にするソフトウェア。
  • PerAppRuntimeBroker の情報 | SC2
SC2
Windowsランキング 将棋ランキング スマホ・携帯ランキング にほんブログ村 IT技術ブログ ライフハックへ にほんブログ村 その他趣味ブログ 将棋へ

このサイトを検索 | Search this site