イベントID10016、DCOMエラーが記録されました。
LOCAL SERVICEがIPBusEnumにアクセスできないことを知らせるログです。
IPBusEnumはDCOMコンポーネントの名前です。
[使用するもの]
- レジストリエディタ
- コンポーネントサービス
イベントログ
メッセージ | アプリケーション固有 のアクセス許可の設定では、CLSID {C97FCC79-E628-407D-AE68-A06AD6D8B4D1} および APPID {344ED43D-D086-4961-86A6-1106F4ACAD9B} の COM サーバー アプリケーションに対するローカル起動のアクセス許可を、アドレス LocalHost (LRPC 使用) のユーザー NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。 |
ログの名前 | システム |
ソース | DistributedCOM (DCOM) |
イベントID | 10016 |
レベル | エラー |
ユーザー | LOCAL SERVICE |
APPID | {344ED43D-D086-4961-86A6-1106F4ACAD9B} |
APPIDの名前 | IPBusEnum |
回避策
レジストリエディターとコンポーネントサービスを利用して修復を試みました。各工程が長いので、途中で何をしているかわからなくなるのでご注意ください。
修復手順は、管理者グループに所属するアカウントでWindowsにログインしておきます。
- 管理者権限のあるアカウントでWindowsにログインする
- レジストリエディターでAPPIDの所有者をAdministatorsに変更する
- Administatorsのアクセス許可をフルコントロールに設定する
- コンポーネントサービスを起動してAPPIDにLOCAL SERVICEを追加する
- 変更した所有者を元に戻す
- PCを再起動する
0. 管理者権限のあるアカウントでWindowsにログインする
自分のアカウントが管理者グループに所属している時は、自分のアカウントでログインしましょう。そうでない時は、Administratorでログインしましょう。
Administratorは無効化されている場合があります。
自力で解決してください...(o|o)
Related post
1. レジストリエディターでAPPIDの所有者をAdministatorsに変更する
レジストリの操作は自己責任です
レジストリエディターを操作する前に、不測の事態に備えてレジストリのバックアップを取っておきましょう。
1.1 レジストリエディターを起動する
ファイル名を指定して実行を起動して名前にregeditを入力してOKをクリックする。
1.2 APPIDを検索する
Ctrl+F または、編集 > 検索
レジストリエディターの検索ダイアログを起動して、イベントビューアーのメッセージに記録されたAPPID {344ED43D-D086-4961-86A6-1106F4ACAD9B} を検索する。
- Ctrl+F または、編集 > 検索
{344ED43D-D086-4961-86A6-1106F4ACAD9B} を入力して、
次を検索 をクリックする。
1.3 所有者を変更する
所有者を TrustedInstaller から Administrators に変更します
{344ED43D-D086-4961-86A6-1106F4ACAD9B}
検索結果は複数の場所でヒットします。
レジストリキーは、
HKEY_CLASSES_ROOT\AppID 配下でヒットしたキーが修正対象です。
HKEY_CLASSES_ROOT\AppID\{344ED43D-D086-4961-86A6-1106F4ACAD9B}
{344ED43D-D086-4961-86A6-1106F4ACAD9B} を選択して、[右クリック > アクセス許可] を選択します。
セキュリティタブのグループまたはユーザー名に Administrators は登録されていますが、アクセス許可は [読み取り] です。
フルコントロール にチェックを入れてOKをクリックするとエラーを返すので、所有者をAdministatorsに変更します。
2. Administatorsのアクセス許可をフルコントロールに設定する
[詳細設定 > 所有者タブ] と遷移します。現在の所有者が TrustedInstaller になっているので、以下の操作をします。
- 「所有者の変更」の下に表示されている Administators を選択状態にする
- 「☑ サブコンテナーとオブジェクトの所有者を置き換える」にチェックを付ける
- 「適用」を選択する
現在の所有者が Administators に置き換わったことを確認したら「OK」を選択してセキュリティタブに戻ります。
所有者を変更したのでアクセス許可を変更できるようになりました。
以下の手順を実行します。
- Administators を選択状態にする
- Administators のアクセス許可の下のボックスで「フルコントロール ☑」にチェックを入れる
- 「適用」を選択後「OK」をクリックしてダイアログを閉じる
Administatorsがリストアップされていない時の手順
「所有者の変更」の下のボックスにAdministatorsがリストアップされていない時は、「他のユーザーまたはグループ」をクリックしてAdministatorsを追加してください。[ユーザーまたはグループの選択] 画面に遷移するので [詳細設定] をクリックします。
[検索] をクリックすると検索結果にAdministratorsがリストアップされるので選択状態にしてからOKを選択します。
末尾に s のある方が変更対象のグループなので間違わないようにしましょう。
選択するオブジェクトを入力してください に PC¥Administrators が追加されたことを確認したらOKを選択します。
さらに、遷移する画面でOKをクリックします。
3. コンポーネントサービスを起動してAPPIDに「LOCAL SERVICE」を追加する
3.1 コンポーネントサービスを起動する
スタートメニュー > Windows 管理ツール > コンポーネントサービス
ファイル名を指定して実行を起動して、名前に dcomcnfg と入力後OKをクリックするとコンポーネントサービスを起動することができます。
3.2 アプリケーションIDを探す
{344ED43D-D086-4961-86A6-1106F4ACAD9B}
APPID {344ED43D-D086-4961-86A6-1106F4ACAD9B} は左ペインの DCOMの構成を選択して、右ペインに表示される ”アプリケーション ID” 列から目視で探します。
検索機能はありません。
APPIDの名前 | IPBusEnum |
APPID | {344ED43D-D086-4961-86A6-1106F4ACAD9B} |
3.3 IPBusEnum に LOCAL SERVICE を追加する
IPBusEnum > 右クリック > プロパティ
前項の手順を実行したらコンポーネントサービスを再起動してください。
再起動後にDCOMコンポーネントIPBusEnumを編集できるようになります。
IPBusEnumのプロパティ > セキュリティ > 起動とアクティブ化のアクセス許可 > 編集
LOCAL SERVICEを追加する方法
LOCAL SERVICE がリストアップされてない時は次の手順を実行します。
追加 > 詳細設定 > 検索
追加 > 詳細設定 と進み表示されたダイアログから 検索をクリックします。
検索結果から LOCAL SERVICE を選択して ”OK” をクリックします。
起動とアクティブ化のアクセス許可
LOCAL SERVICE のアクセス許可の下のボックスで以下の項目に☑チェックを入れて、「OK」をクリックする。
- ☑ ローカルからの起動
- ☑ ローカルからのアクティブ化
4. 変更した所有者を元に戻す
変更を加えたレジストリキーの所有者はコンポーネントサービスの処理が終わったら元に戻しましょう。元の値 TrustedInstaller は検索してもリストアップされないので直接入力する必要があります。
入力値 | NT SERVICE\TrustedInstaller |
5. PCを再起動する
PCを再起動してイベントビューアーを確認しましょう。エラーが記録されなくなったら修復に成功しています。
DCOMイベントは無視推奨
マイクロソフトは、DCOMエラーは無視を推奨しています。
Windows 10 と Windows Server 2016 で DCOM のイベント ID 10016 がログに記録される
この問題は、イベント ログに示されている DCOM コンポーネントに対するアクセス許可を、特定のプロセスが持っていないために発生します。
~
これらのイベントは無視しても問題ありません。
support.microsoft.com
この問題は、イベント ログに示されている DCOM コンポーネントに対するアクセス許可を、特定のプロセスが持っていないために発生します。
~
これらのイベントは無視しても問題ありません。
support.microsoft.com
まとめ
DistributedCOM (DCOM) がログに記録された場合。(一般論)- ログのメッセージからAPPIDを探す
- レジストリエディタでAPPIDの所有者をAdministratorsに変更する
- Administratorsをフルコントロールに変更する
- コンポーネントサービスを起動してAPPIDを探す
- APPIDに「LOCAL SERVICE」などのユーザーを追加する
- 「ローカルからの起動|ローカルからのアクティブ化」にチェックを入れる
- APPIDの所有者を元に戻す(レジストリエディタ)
- 終了
:SC2
このサイトを検索 | Search this site