イベント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) |
イベントID | 10016 |
レベル | エラー |
ユーザー | Local User |
APPID | {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} |
APPIDの名前 | RuntimeBroker |
修正方法の概要
対処方法
コンポーネントサービスを利用して RuntimeBroker のアクセス許可に「Users」を追加すると問題を修正できる可能性があります。RuntimeBroker の所有者を変更するためにレジストリエディタを使用します。
Windows ビルドによっては RuntimeBroker は2つ見つかることがあります。この記事の対象は APPID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} です。
1. APPIDの所有者を変更する手順
不測の事態に備えてレジストリのバックアップを取っておきましょう。
検索値 | {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} |
結果 | \HKEY_CLASSES_ROOT\AppID\{9CA88EE3-ACB7-47c8-AFC4-AB702511C276} |
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}を右クリックして、”アクセス許可” を選択します。
検索 をクリックすると検索結果にAdministratorsがリストアップされるので選択状態にしてからOKを選択します。
AdministratorとAdministratorsがあるので、末尾に s のある方を選択しましょう。
「選択するオブジェクトを入力してください」に [PCの名前¥Administrators] が追加されたことを確認したらOKをクリック、遷移する画面でOKをクリックします。
2. グループ名またはユーザー名に Administrators を追加する
前項の手順と似ているので混同しないようにしましょう。
この手順では{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}にアクセスできるグループとして Administators を追加してフルコントロール権限を付与します。
3. フルコントロールに設定する
- グループ名またはユーザー名から Administrators を選択
- アクセス許可のフルコントロール ☑ 許可にチェックを入れる
- OKをクリックする
4. コンポーネントサービスを起動する
W10 > スタートメニュー > Windows 管理ツール > コンポーネントサービス
ファイル名を指定して実行を起動して名前に dcomcnfg を入力してOKをクリックする。
5. 起動とアクティブ化のアクセス許可にUsersを追加する
5.1 アプリケーションIDを探す
APPIDはDCOMの構成を選択すると右ペインに表示される ”アプリケーション ID” 列から目視で探します。検索機能はありません。
コンソールルート ∨コンポーネントサービス ∨コンピューター ∨マイコンピューター >DCOM の構成 |
アプリケーションID列で {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} を探します。
名前はRuntimeBrokerです。
RuntimeBrokerは2つあるので間違えないようにしましょう。
APPIDの名前 | APPID |
RuntimeBroker | {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} |
5.2 RuntimeBroker{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}にUsersを追加する
Windowsセキュリティが表示される場合は「削除」を選択します。
Windowsセキュリティ
レジストリ値 に添付されたアクセス許可エントリの 1 つまたは複数は、認識されない種類であるかアプリケーション固有 (コールバック) の種類のため表示できません。
-認識されていないアクセス許可とコールバック アクセス許可のエントリを削除するには、[削除] をクリックしてください。継承されたアクセス許可エントリは、削除されないことにご注意ください。理由は、対応する親のレベルでのみ削除できるか、またはこのオブジェクトで継承を無効にできるためです。
-アクセス許可を変更せずに、認識されたアクセス許可のエントリのみを読み取り専用で表示するには、[キャンセル] をクリックしてください。
追加>詳細設定 と進み表示されたダイアログから 検索をクリックします。検索結果一覧から Users を選択した状態で ”OK” をクリックします。
”選択するオブジェクト名を入力してください” の下に Users が追加されていることを確認してからOKをクリックする。
Users を選択した状態にして ”アクセス許可” の ☑ローカルからのアクティブ化 にチェックを入れてOKをクリックします。RuntimeBrokerのプロパティ画面に遷移するのでOK(または適用後にOK)をクリックする。
6. 所有者を元に戻す
変更を加えたレジストリキーの所有者はコンポーネントサービスの処理が終わったら元に戻しましょう。
元の値 TrustedInstaller は直接入力します。
入力値 | NT SERVICE\TrustedInstaller |
7. 手順終了
PC再起動。
イベントビューアーから該当のログが消えたら成功です。
ログが消えない時は、元の状態に戻して様子見です。突然ログが消えるかも...?
修正が成功した後のチェック
資料
まとめ
以下の記事のように、レジストリエディタの代わりに「ExecTI」を使用すると安全に修正できます。
このサイトを検索 | Search this site