[EventId 10016] RuntimeBroker(PerAppRuntimeBroker) に Users を追加する方法【レジストリエディタ】

このサイトを検索 | 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(PerAppRuntimeBroker)

修正方法の概要

PC

管理者特権のあるアカウントでWindowsにログインします。

Windows 10 の管理ツール、レジストリエディターとコンポーネントサービスを使用します。

[手順]
    (レジストリエディター)
  1. APPIDの所有者を変更する
  2. グループ名またはユーザー名にAdministratorsを追加する
  3. Administratorsをフルコントロールに設定する
    (コンポーネントサービス)
  1. コンポーネントサービスを起動する
  2. 起動とアクティブ化のアクセス許可にUsersを追加する
    (レジストリエディター)
  1. 所有者を元に戻す
  2. 以上

1. APPIDの所有者を変更する手順

レジストリの操作は自己責任です
レジストリエディターを操作する前に、
不測の事態に備えてレジストリのバックアップを取っておきましょう。

APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402} の所有者を TrustedInstaller から Administrators に変更します。

続いて、Administrators のアクセス権を「フルコントロール」に変更します。

1.1 レジストリエディターを起動する
ファイル名を指定して実行 (Win+R) 、名前に regedit と入力しOKをクリックするとレジストリエディターが起動します。
ファイル名を指定して実行
Run
1.2 APPIDを検索する
検索ダイアログを起動 (Ctrl+F / 編集 > 検索)

ログに記録された APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402} を入力して検索します。

複数の場所でヒットしますが \HKEY_CLASSES_ROOT\AppID\ 配下が編集対象です。

検索値{15C20B67-12E7-4BB6-92BB-7AFF07997402}
結果\HKEY_CLASSES_ROOT\AppID\{15C20B67-12E7-4BB6-92BB-7AFF07997402}
regedit-search
1.3 アクセス許可を選択する
{15C20B67-12E7-4BB6-92BB-7AFF07997402} を右クリックして、”アクセス許可” を選択します。
アクセス許可
1.4 詳細設定を選択する
右下の ”詳細設定” をクリックします。
画像では Administrators が表示されていますが表示されない環境もあります。
詳細設定
アクセスが拒否されました
Administrators が表示されている場面で Administrators をフルコントロールに変更できそうな気がしますが、実行すると次のダイアログが表示されるので所有権を取得するまでフルコントロールに変更することはできません。
Rejection
1.5 変更をクリックする
遷移する画面の左上にある所有者が TrustedInstaller になっているので 変更 をクリックします。
所有者:TrustedInstaller
1.6 詳細設定をクリックする
ユーザーまたはグループの選択 画面で 詳細設定をクリックします。
ユーザーまたはグループの選択>詳細設定
1.7 Administrators を選択する
検索 をクリックすると検索結果に Administrators がリストアップされるので選択状態にしてからOKを選択します。

Administrator と Administratorsがあるので、末尾に s のある方を選択しましょう。

詳細設定>検索

選択するオブジェクトを入力してください に PC名¥Administrators が追加されたことを確認したらOKをクリック、遷移する画面でOKをクリックします。

追加>Administrators
前述した 1.5 の画面で所有者が Administrators に変わっていたら実行した手順は成功しています。

2. グループ名またはユーザー名にAdministratorsを追加する

前項の手順と似ているので混同しないようにしましょう。

この手順では {15C20B67-12E7-4BB6-92BB-7AFF07997402} にアクセスできるグループとして Administators を追加します。

Administratorsが存在する場合はスキップしてください。

[Administorators を追加する方法]
  1. セキュリティタブの ”追加” をクリック
  2. 遷移する画面で ”詳細設定” をクリック
  3. 遷移する画面で ”検索” をクリック
  4. 遷移する画面の検索結果一覧から ”Administrators” をクリックして選択状態にする
  5. ”OK” をクリックする
  6. グループ名またはユーザー名に Administrators が追加されたことを確認する
  7. 以上
追加

3. フルコントロールに設定する

  1. グループ名またはユーザー名から Administrators を選択
  2. アクセス許可のフルコントロール ☑ 許可にチェックを入れる
  3. OKをクリックする
  4. 以上
Administrators:フルコントロール

4. コンポーネントサービスの起動

この手順は、コンポーネントサービスを使用します。コンポーネントサービスは次のいずれかの方法で起動することができます。

  1. ファイル名を指定して実行を起動して名前に dcomcnfg を入力してOKをクリックする
  2. W10 > スタートメニュー > Windows 管理ツール > コンポーネントサービス と遷移する
詳しい解説が必要な方は次の記事をお読みください。

5. 起動とアクティブ化のアクセス許可にUsersを追加する

5.1 アプリケーションIDを探す

APPIDはDCOMの構成を選択すると右ペインに表示される ”アプリケーション ID” 列から目視で探します。検索機能はありません。

コンソールルート
∨コンポーネントサービス
 ∨コンピューター
  ∨マイコンピューター
   >DCOM の構成
DCOM の構成

表示モードを「詳細」に変更して、アプリケーションID列で {15C20B67-12E7-4BB6-92BB-7AFF07997402} を探します。

RuntimeBroker (または、PerAppRuntimeBroker) です。RuntimeBroker は2つ見つかることもあります。

アプリケーションIDと名前
APPIDの名前APPID
RuntimeBroker{15C20B67-12E7-4BB6-92BB-7AFF07997402}
RuntimeBroker2

5.2 RuntimeBroker {15C20B67-12E7-4BB6-92BB-7AFF07997402} にUsersを追加する

5.2.1 RuntimeBroker (PerAppRuntimeBroker)
RuntimeBroker {15C20B67-12E7-4BB6-92BB-7AFF07997402} > 右クリック > プロパティ
RuntimeBroker:プロパティ
5.2.2 起動とアクティブ化のアクセス許可
セキュリティタブ > 起動とアクティブ化のアクセス許可 > 編集
起動とアクティブ化のアクセス許可>編集

Windowsセキュリティが表示される場合は「削除」を選択します。

Windowsセキュリティ

レジストリ値 に添付されたアクセス許可エントリの 1 つまたは複数は、認識されない種類であるかアプリケーション固有 (コールバック) の種類のため表示できません。

-認識されていないアクセス許可とコールバック アクセス許可のエントリを削除するには、[削除] をクリックしてください。継承されたアクセス許可エントリは、削除されないことにご注意ください。理由は、対応する親のレベルでのみ削除できるか、またはこのオブジェクトで継承を無効にできるためです。

-アクセス許可を変更せずに、認識されたアクセス許可のエントリのみを読み取り専用で表示するには、[キャンセル] をクリックしてください。

Windowsセキュリティ
5.2.3 追加 > 詳細設定 > 検索

追加>詳細設定 と進み表示されたダイアログから 検索をクリックします。検索結果一覧から Users を選択した状態でOKをクリックします。

検索結果>OK
5.2.4 ユーザーまたはグループの選択

”選択するオブジェクト名を入力してください” の下に Users が追加されていることを確認したらOKをクリックする。

ユーザーまたはグループの選択
5.2.5 起動とアクティブ化のアクセス許可

Users を選択した状態にして ”アクセス許可” の ☑ローカルからのアクティブ化 にチェックを入れてOKをクリックします。RuntimeBrokerのプロパティ画面に遷移するのでOK(または適用後にOK)をクリックする。

Users

6. 所有者を元に戻す

AppID\{15C20B67-12E7-4BB6-92BB-7AFF07997402} の所有者を TrustedInstaller に戻します。

TrustedInstaller は検索してもヒットしないので直接入力します。

入力する値は次の通りです。

入力値NT SERVICE\TrustedInstaller
NT SERVICE\TrustedInstaller

7. 手順終了

PC再起動。

イベントビューアーから該当のログが消えたら成功です。

ログが消えない時は、元の状態に戻して様子見します。突然ログが消えるかも...?

資料

document_list

まとめ

matome
reload
  • ソース:DistributedCOM (DCOM)
  • APPIDの名前:RuntimeBroker (PerAppRuntimeBroker)
  • ユーザー:ログインアカウント
  • DCOMイベントは、マイクロソフトは無視を推奨しているが、コンポーネントサービスを利用して修復できる可能性があります。
  • 具体的には、RuntimeBroker のアクセス許可に Users を追加します。
  • DCOMコンポーネントの所有者は TrustedInstaller のため通常の方法では設定変更できないため、レジストリエディタを使用して所有者を一時的に Administorators に変更します。
  • ExecTI を利用するとレジストリエディタが不要になります。
  • RuntimeBroker | SC2
  • ユーザーに自分のアカウントを追加する方法では改善しないため、代わりに「Users」を追加します。
  • 検証環境では、ユーザーに「INTERACTIVE」を追加する方法では改善しませんでした。
  • DCOMイベントは無視推奨です。
  • 手順が成功したら、RuntimeBroker の所有者を元に戻す工程を忘れずに!(Trustedinstaller)
  • RuntimeBroker の情報 | SC2
[ExecTI] TrustedInstallerとしてアプリケーションを実行する方法

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

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

SC2
ブログサークルSNS
クリックして応援してね!
人気ブログランキングPVアクセスランキング にほんブログ村ブログランキング・にほんブログ村へ

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

コメントを投稿

0 コメント