イベントID10016 /PerAppRuntimeBroker
イベントID10016 が記録されました。内容は、DistributedCOM (DCOM) と PerAppRuntimeBroker に関連する警告ログです。
このログは、[ログインユーザー] が PerAppRuntimeBroker へのアクセスで問題が発生したことを通知しています。同時に、コンポーネントサービスを利用してアクセス許可を変更できることを示唆しています。
10016イベントは、Microsoft コンポーネントが必要なアクセス許可なしで DCOM コンポーネントにアクセスしようとしたときにログに記録されるものです。
マイクロソフトは、DCOM ログは仕様通りの動作のため無視を推奨しています。ただし、エラーを解消したい場合は、コンポーネントサービスを利用してアクセス許可を変更することができます。
ユーザーによるアクセス許可の変更は、予期しない副作用を引き起こす可能性があるため注意が必要です。
対処法
通知されたログに対応するには、コンポーネントサービスを利用して RuntimeBroker のアクセス許可に「Users」を追加する方法が考えられます。RuntimeBroker の所有者を変更するためにレジストリエディタを使用します。
Windows ビルドによっては RuntimeBroker は2つ見つかることがあります。この記事の対象は APPID{15C20B67-12E7-4BB6-92BB-7AFF07997402} です。
PerAppRuntimeBroker
PerAppRuntimeBroker はWindows 10 v1809までは RuntimeBroker の名前で表示されていたDCOMコンポーネントです。
RuntimeBroker と PerAppRuntimeBroker の関係は次の通りです。
バージョン | 名前 | APPID |
v1903 | PerAppRuntimeBroker | {15C20B67-12E7-4BB6-92BB-7AFF07997402} |
RuntimeBroker | {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} | |
v1809 | RuntimeBroker | {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-xxx) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。 |
ログの名前 | システム |
ソース | DistributedCOM (DCOM) |
イベントID | 10016 |
レベル | エラー |
ユーザー | Local User (ComputerName\AccountName) |
APPID | {15C20B67-12E7-4BB6-92BB-7AFF07997402} |
APPIDの名前 | PerAppRuntimeBroker |
セキュリティ アクセス許可を変更する
- ExecTIの準備
- ExecTIからコンポーネントサービスを起動する
- PerAppRuntimeBrokerを編集する
- 以上
ExecTIからコンポーネントサービスを起動する
ExecTI はレジストリエディターやコンポーネントサービスをTrustedInstallerとして起動させることができるフリーソフトウェアです。
TrustedInstallerとしてシステムツールを起動する方法|ExecTI
Windows Updateで配信される機能更新プログラムを適用すると、DCOM設定を初期化される場合があります。(RuntimeBrokerなど) RuntimeBroker: {9CA88EE3-ACB7-47c8-AFC4-AB702511C276} ...
コンポーネントサービスを起動するコマンドは [comexp.msc] です。
Openの横のボックスにcomexp.mscと入力してOKをクリックすると TrustedInstaller権限でコンポーネントサービスが起動します。
コンポーネントサービスの外観は通常起動したものと同じなので区別はつきません。
PerAppRuntimeBrokerのセキュリティ設定を変更する
ExecTI:comexp.msc > コンソールルート > コンポーネントサービス > コンピューター > マイコンピューター > DCOMの構成
コンポーネントサービスの表示モードを「詳細」に切り替えて、名前の列で PerAppRuntimeBroker を探します。
検索機能はありません。
PerAppRuntimeBroker のアプリケーションIDが {15C20B67-12E7-4BB6-92BB-7AFF07997402} となっていることを確認します。
PerAppRuntimeBroker を右クリックしてプロパティを表示します。
PerAppRuntimeBrokerのプロパティ > セキュリティタブ > 起動とアクティブ化のアクセス許可 > 編集
- セキュリティタブを表示する
- 起動とアクティブ化のアクセス許可の下の「カスタマイズ」にチェックを入れる
- 編集をクリックする
- 「Windows セキュリティダイアログ」が表示されるので削除をクリックする
- 起動とアクティブ化のアクセス許可が表示される
追加 > 詳細設定 > 検索
- [追加] をクリックする
- [詳細設定] をクリックする
- 表示されたダイアログから 検索をクリックする
- 検索結果にユーザーとグループが表示されるので、下にスクロールして Users を選択してOKをクリックする
- 「選択するオブジェクト名を入力してください」の下のボックスに xxx\Users が表示されていることを確認したらOKをクリックする
xxx\Users を選択した状態にして、アクセス許可の下のボックスの「ローカルからのアクティブ化 ☑」にチェックを入れてOKをクリックします。
手順終了
Windows を再起動します。
Windows サービスには遅延起動するサービスがあるので、PCの起動処理が落ち着いてからイベントビューアーを起動しましょう。
もし、ログの記録が止まらない時は、変更前の状態に戻して放置するしかありません。
マイクロソフトによると、DCOMエラーは コンポーネントが必要なアクセス権を持たない時に記録されるとしており、仕様通りの動作のため気にしないでよいとのことです。
資料
まとめ
このサイトを検索 | Search this site