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

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

イベントID10016 / イベントビューアー

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

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

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

コンポーネントサービス

マイクロソフトは、DCOM ログは無視を推奨していますが、Windowsに付属するシステムツール「コンポーネントサービス」を利用してアクセス許可を変更することで問題を修正できる可能性があります。

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



イベントログ

ログの説明

[ログインユーザー ] は、Windows にログインしているユーザーアカウントです。RuntimeBroker は、APPID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}に付与されたコンポーネントの名前です。

イベントログ
メッセージアプリケーション固有 のアクセス許可の設定では、CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} および APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) のユーザー Computer\Login User SID (S-1-5-21-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。
ログの名前システム
ソースDistributedCOM (DCOM)
イベントID10016
レベルエラー
ユーザーLocal User
APPID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
APPIDの名前RuntimeBroker

修正方法の概要

PC

管理者特権のあるアカウントでWindowsにログインします。Windows 付属の管理ツール、レジストリエディターとコンポーネントサービスを使用します。

対処方法

コンポーネントサービスを利用して RuntimeBroker のアクセス許可に「Users」を追加すると問題を修正できる可能性があります。RuntimeBroker の所有者を変更するためにレジストリエディタを使用します。

Windows ビルドによっては RuntimeBroker は2つ見つかることがあります。この記事の対象は APPID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} です。

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

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

レジストリの操作は自己責任です
レジストリエディターを操作する前に、
不測の事態に備えてレジストリのバックアップを取っておきましょう。
1.1 レジストリエディターを起動する
ファイル名を指定して実行 (Win+R) 、名前にregeditと入力しOKをクリックするとレジストリエディターが起動します。
Run
1.2 APPIDを検索する
検索ダイアログを起動 (Ctrl+F / 編集 > 検索)、APPIDを検索します。
検索値{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
結果\HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47c8-AFC4-AB702511C276}
1.3 所有者を変更する
RuntimeBroker の所有者を TrustedInstaller から Administrators に変更します。

{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}を右クリックして、”アクセス許可” を選択します。

右下の ”詳細設定” をクリックします。
詳細設定
遷移する画面の左上にある所有者が TrustedInstaller になっているので 変更 をクリックします。
所有者:TrustedInstaller
ユーザーまたはグループの選択 画面で 詳細設定をクリックします。
ユーザーまたはグループの選択>詳細設定

検索 をクリックすると検索結果にAdministratorsがリストアップされるので選択状態にしてからOKを選択します。

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

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

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

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

この手順では{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}にアクセスできるグループとして Administators を追加してフルコントロール権限を付与します。

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

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

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

4. コンポーネントサービスを起動する

W10 > スタートメニュー > Windows 管理ツール > コンポーネントサービス

ファイル名を指定して実行を起動して名前に dcomcnfg を入力してOKをクリックする。

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

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

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

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

アプリケーションID列で {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} を探します。

名前はRuntimeBrokerです。

RuntimeBrokerは2つあるので間違えないようにしましょう。

アプリケーションIDと名前
APPIDの名前APPID
RuntimeBroker{9CA88EE3-ACB7-47c8-AFC4-AB702511C276}

5.2 RuntimeBroker{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}にUsersを追加する

5.2.1 プロパティ
RuntimeBroker {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} > 右クリック > プロパティ
5.2.2 編集
セキュリティタブ > 起動とアクティブ化のアクセス許可 > 編集

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

Windowsセキュリティ

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

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

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

5.2.3 検索
追加 > 詳細設定 > 検索

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

5.2.4 ユーザーまたはグループの選択

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

5.2.5 起動とアクティブ化のアクセス許可

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

6. 所有者を元に戻す

変更を加えたレジストリキーの所有者はコンポーネントサービスの処理が終わったら元に戻しましょう。

元の値 TrustedInstaller は直接入力します。

入力値NT SERVICE\TrustedInstaller

7. 手順終了

PC再起動。

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

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

修正が成功した後のチェック

[ログの記録が止まったら以下の手順を実行する]
  1. RuntimeBroker の所有者を Administrators → TrustedInstaller に変更する。(元に戻す)
  2. 以上

資料

まとめ

matome
reload
  • DCOMイベントは、マイクロソフトは無視を推奨しているが、コンポーネントサービスを利用して修復できる可能性があります。
  • 具体的には、RuntimeBroker のアクセス許可に Users を追加します。
  • DCOMコンポーネントの所有者は TrustedInstaller のため通常の方法では設定変更できないため、レジストリエディタを使用して所有者を一時的に Administorators に変更します。
  • 修正後は、RuntimeBroker の所有者を元に戻しましょう。(Trustedinstaller)
  • ExecTI を利用するとレジストリエディタが不要になります。
  • アクセス許可に「INTERACTIVE」を追加する方法では改善がみられませんでした。
  • RuntimeBroker の情報 | SC2

以下の記事のように、レジストリエディタの代わりに「ExecTI」を使用すると安全に修正できます。

[EventId 10016] RuntimeBroker {15C20B67-12E7-4BB6-92BB-7AFF07997402}

[EventId 10016] RuntimeBroker {15C20B67-12E7-4BB6-92BB-7AFF07997402}

PerAppRuntimeBroker{15C20B67-12E7-4BB6-92BB-7AFF07997402}セキュリティ アクセス許可を変更する方法

検証:Windows 10 v1709, v1803
SC2
Windowsランキング 将棋ランキング スマホ・携帯ランキング にほんブログ村 IT技術ブログ ライフハックへ にほんブログ村 その他趣味ブログ 将棋へ

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