イベントID10016 /RuntimeBroker
イベントID10016 が記録されました。内容は、DistributedCOM (DCOM) と ShellServiceHost に関連する警告ログです。
このログは、NETWORK SERVICE が RuntimeBroker へのアクセスで問題が発生したことを通知しています。同時に、コンポーネントサービスを利用してアクセス許可を変更できることを示唆しています。
10016イベントは、Microsoft コンポーネントが必要なアクセス許可なしで DCOM コンポーネントにアクセスしようとしたときにログに記録されるものです。
マイクロソフトは、DCOM ログは仕様通りの動作のため無視を推奨しています。ただし、エラーを解消したい場合は、コンポーネントサービスを利用してアクセス許可を変更することができます。
ユーザーによるアクセス許可の変更は、予期しない副作用を引き起こす可能性があるため注意が必要です。
ログの説明
NETWORK SERVICE は、Windowsが使用する特別なアカウントです。
RuntimeBroker は、APPID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}に付与されたコンポーネントの名前です。
対処法
通知されたログに対応するには、コンポーネントサービスを利用して RuntimeBroker のアクセス許可に NETWORK SERVICE を追加する方法が考えられます。RuntimeBroker の所有者を変更するためにレジストリエディタを使用します。
Windows ビルドによっては RuntimeBroker は2つ見つかることがあります。この記事の対象は APPID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} です。
イベントログ
メッセージ | アプリケーション固有 のアクセス許可の設定では、CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} および APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) のユーザー NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。 |
ログの名前 | システム |
ソース | DistributedCOM (DCOM) |
イベントID | 10016 |
レベル | エラー |
ユーザー | NETWORK SERVICE |
APPID | {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} |
APPIDの名前 | RuntimeBroker |
修復方法
ログに記録された [RuntimeBroker] は、コンポーネントサービスを利用してアクセス許可を変更することができます。
但し、APPID は、所有者が「Trustedinstaller」のため、ユーザーアカウントや Administorator では設定を変更することができないので、レジストリエディタを使用して RuntimeBroker の所有者を一時的に Administorators に変更してからアクセス許可を編集します。
[レジストリエディター > コンポーネントサービス > レジストリエディター] と2つのシステムツールを交互に操作するので少々煩雑になります。
1. APPIDの所有者を変更する
不測の事態に備えてレジストリのバックアップを取っておきましょう。
- ファイル名を指定して実行を起動する (Win+R)
- 名前の横のボックスに regedit と入力する
- OKをクリックする
- 以上
- 検索ダイアログを起動 (Ctrl+F|編集>検索)
- {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} を入力
- 次を検索をクリックする
右クリックして表示されるコンテキストメニューから ”アクセス許可” を選択します。
検証端末は Administrators のアクセス許可は「読み取り」でした。
フルコントロールにチェックを入れてOKをクリックするとエラーを返されるので、編集できるようにレジストリエディタを使用して所有者を変更します。
詳細設定(V)をクリック、遷移する画面で所有者が TrustedInstaller になっているので 変更 をクリックします。
ユーザーまたはグループの選択 画面で詳細設定(A)...をクリックします。
検索(N)をクリックすると Administrators がリストアップされるので選択状態にしてからOKをクリックします。末尾に s のある方を選択しましょう。
選択するオブジェクトを入力してください に [PC名¥Administrators] が追加されたことを確認したらOKをクリック、遷移する画面でOKをクリックします。
2. 所有者のアクセス許可をフルコントロールに設定する
- グループ名またはユーザー名の Administrators を選択状態にする
- 下の窓のアクセス許可でフルコントロール ☑ 許可にチェックを入れてOKをクリックする
グループ名またはユーザー名に Administrators がないときは追加ボタンから追加する必要があります。
3. コンポーネントサービスを起動してAPPIDにLOCAL SERVICEを追加する
- ファイル名を指定して実行を起動して名前に dcomcnfg を入力してOKをクリック
- または、スタートメニュー>Windows 管理ツール>コンポーネントサービス
コンソールルート ∨コンポーネントサービス ∨コンピューター ∨マイコンピューター >DCOM の構成 |
アプリケーションID列で {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} を探す。
APPIDの名前 | APPID |
RuntimeBroker | {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} |
RuntimeBroker > 右クリック > プロパティ
RuntimeBrokerは複数登録されているので編集対象のアプリケーションID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} に対応したものを選択しましょう。
セキュリティタブ > 起動とアクティブ化のアクセス許可 > 編集(E)...
追加 > 詳細設定 > 検索
- 追加 > 詳細設定 と進む
- 表示されたダイアログから検索(N)をクリックする
- 検索結果一覧から NETWORK SERVICE を選択する
- OKをクリックする
”選択するオブジェクト名を入力してください” の下の窓に NETWORK SERVICE が追加されていることを確認してからOKをクリックする。
起動とアクティブ化のアクセス許可
NETWORK SERVICE を選択した状態にして ”アクセス許可” の ☑ローカルからのアクティブ化 にチェックを入れてOKをクリックします。
RuntimeBroker のプロパティ画面に遷移するのでOK(または適用後にOK)をクリックする。
4. 変更した所有者を元に戻す
RuntimeBroker の所有者を [Trustedinstaller (既定の所有者)] に戻します。
TrustedInstaller は検索しても表示されないので直接入力します。
入力値 | NT SERVICE\TrustedInstaller |
5. PCを再起動する
PCを再起動して、システムが安定した頃に(4~5分)イベントビューアーを確認します。
ログの記録が止まったら手順は成功です。効果が見られない時は、元の状態に戻して自然回復するまで待ちましょう。
資料
まとめ
このサイトを検索 | Search this site