[EventId 10016] RuntimeBroker(PerAppRuntimeBroker) に Users を追加する方法【ExecTI】

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

イベントID10016 /RuntimeBroker

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

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

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

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

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

ログの説明

[ログインユーザー ] は、Windows にログインしているユーザーアカウントです。

RuntimeBroker は、APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402}に付与されたコンポーネントの名前です。このAPPIDは、Windows 10 v1903 以降 PerAppRuntimeBroker に改名されました。

対処法

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

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

2つのRuntimeBroker
名前APPID
RuntimeBroker
(PerAppRuntimeBroker)
{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-3828101160-65458516-1957545066-1001) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。
ログの名前システム
ソースDistributedCOM (DCOM)
イベントID10016
レベルエラー
ユーザーLocal User
APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402}
APPIDの名前RuntimeBroker

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

※レジストリエディタは使いません。

[使用するツール]
  1. ExecTI
  2. コンポーネントサービス
手順概要
  1. ExecTIの準備(ダウンロード、インストール)
  2. ExecTIからコンポーネントサービスを起動する
  3. RuntimeBrokerを編集する
  4. PCを再起動する
  5. 以上

ExecTI

1. ExecTIのダウンロード/インストール
ExecTIはプログラムをTrustedInstallerとして動作させることができるフリーソフトウェアです。
[ExecTI] TrustedInstallerとしてアプリケーションを実行する方法

[ExecTI] TrustedInstallerとしてアプリケーションを実行する方法

ExecTIは、TrustedInstallerとしてアプリケーションを実行するソフトウェアです。DCOMエラーを修正する時に威力を発揮します。

 External link
2. ExecTIからコンポーネントサービスを起動する
コンポーネントサービス = comexp.msc
[手順]
  1. ExecTIを起動する
  2. Openの横のボックスに [comexp.msc] と入力後、OKをクリックする
  3. コンポーネントサービスが起動する
    ※外観は通常起動したものと同じなので区別がつきません。
  4. 以上
execti-comexp.msc

RuntimeBrokerを編集する

3. RuntimeBrokerのプロパティを表示する
RuntimeBroker={15C20B67-12E7-4BB6-92BB-7AFF07997402}
[手順]
  1. DCOMの構成をポイントする
    comexp.msc > コンソールルート > コンポーネントサービス > コンピューター > マイコンピューター > DCOMの構成
  2. 表示モードを「詳細」にする
  3. RuntimeBrokerを目視で探す(検索機能はありません)
  4. 右クリック > プロパティ
  5. 以上
DCOMの構成-RuntimeBroker
4. 起動とアクティブ化のアクセス許可を表示する
RuntimeBrokerのプロパティ > セキュリティタブ > 起動とアクティブ化のアクセス許可 > 編集
「Windows セキュリティ」が表示された時は削除を選択します。
WindowsSecurity
起動とアクティブ化のアクセス許可
comexp-bootPermission
5. Usersを追加する
[手順]
  1. 追加 > 詳細設定 > 検索
  2. 検索結果の下の窓から「Users」を探す。
  3. マウスでポイントして選択状態にして、OKをクリックする。
  4. 「選択するオブジェクト名を入力してください」の下の窓に「xxx\Users」と表示されたことを確認してOKをクリックする。 (xxx:コンピューター名)
  5. 起動とアクティブ化のアクセス許可の画面に戻るので、Usersが選択状態になっていることを確認する。
  6. 以上
検索結果_Users
「選択するオブジェクト名を入力してください」
ユーザーまたはグループの選択
6. ローカルからのアクティブ化を有効にする
xxx\Users を選択した状態にして、アクセス許可の下のボックスの「☑ローカルからのアクティブ化」にチェックを入れたらOKをクリックします。
users-activate from local

変更を反映する

7. PC再起動
変更を反映させるため、PCを再起動します。
8. 終了
遅延起動するWindows サービスがあるので、Windowsの起動処理が落ち着いてからイベントビューアーを起動します。

ログの記録が止まったらバンザ~イ!ダメな時は元の状態に戻して放置です。

放置はMS推奨のアクションです。

資料

document_list

まとめ

matome
reload
  • ソース:DistributedCOM (DCOM)
  • APPIDの名前:RuntimeBroker (PerAppRuntimeBroker)
  • ユーザー:ログインアカウント(コンピューター名\PC User)
  • DCOMイベントは、マイクロソフトは無視を推奨しているが、コンポーネントサービスを利用して修復できる可能性があります。
  • 具体的には、RuntimeBroker のアクセス許可に Users を追加します。
  • DCOMコンポーネントの所有者は TrustedInstaller のため通常の方法では設定変更できないため、ExecTI を使用して編集できる状態で起動したコンポーネントサービスを利用します。
  • ExecTI を利用するとレジストリエディタが不要になります。
  • ユーザーに自分のアカウントを追加する方法では改善しないため、代わりに「Users」を追加します。
  • 検証環境では、ユーザーに「INTERACTIVE」を追加する方法では改善しませんでした。
  • DCOMイベントは無視推奨です。
  • RuntimeBroker | SC2
SC2
ブログサークルSNS
クリックして応援してね!
人気ブログランキングPVアクセスランキング にほんブログ村ブログランキング・にほんブログ村へ

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