異なるコンピュータ上のソフトウェアコンポーネント同士が通信できるようにする仕組み
Windows メジャーアップデートの恐怖
Windows 11 24H2 にアップグレードし、イベントビューアーでログを確認した結果を報告します。
23H2 に比べエラーは減少しましたが、初期化された DCOM コンポーネントに関するエラー (ID 10016) がいくつか記録されていました。
Distributed Component Object Model(DCOM)
DCOMエラーは、コンポーネントサービスを利用することで修正可能な場合があります。筆者の環境では修正できましたが、マイクロソフトの推奨ではローカルユーザーとして使用する場合、これらのログは無視して構わないとされています。
また、ID360「Windows Hello for Business」のエラーについては修正方法が見つかってないので、煩わしいためログに記録されないよう対処しました。
先ずは、DISM / SFC
WindowsのSFC(System File Checker)とDISM(Deployment Image Servicing and Management)は、システムファイルの整合性や状態をチェックし、問題があれば修正するためのコマンドラインツールです。これらのツールは、Windowsの安定性やパフォーマンスを保つために役立ちます。
それぞれ用途が異なるため、両方のコマンドラインツールを複数回交互に実行すると効果があると言われている。特に、24H2などのWindowsメジャーアップデートを行った際は、システムファイルが正しくインストールされたかを確認することが望ましい。
SFC | System File Checker システムファイルの破損を修正 |
DISM | Deployment Image Servicing and Management Windowsイメージファイルの修正 |
使い方はこちらです。
ID: 10016
DCOM(Distributed Component Object Model)とは、マイクロソフトが開発した技術で、異なるコンピュータ上のソフトウェアコンポーネント同士が通信できるようにする仕組みです。DCOMはCOM(Component Object Model)の拡張であり、ネットワーク越しの通信をサポートします。
より具体的に言うと、DCOMは、一つのコンピュータ上に存在するソフトウェアの機能を、まるでその機能が別のコンピュータ上に存在しているかのように、遠隔から呼び出して利用できるようにするものです。
DCOMエラー
マイクロソフトによると、DCOMエラーはWindowsコンポーネントが正しく動作した結果のため、修正せずに無視推奨としています。修正には副作用が発生する可能性があるとしています。
DCOMエラーは、修正済みであっても、Windowsを23H2から24H2のようにメジャーアップデートすると再発することがあります。この現象は、既定値を変更したDCOMコンポーネントがメジャーアップデートによって初期状態にリセットされるために発生します。そのため、メジャーアップデートだけでなく、毎月のマンスリーアップデートでもDCOM設定が初期化される可能性があります。
修正のヒント
エラーログに記録された「APPID」と「ユーザー: ABC」の情報を元にして適切な対処方法を推測することができます。非推奨とはいえ、ログメッセージには「コンポーネントサービスを使用して修正できる可能性がある」と書かれています。
今回は、DCOMコンポーネント PerAppRuntimeBroker、ShellServiceHost が関与するエラーログが記録されていたので、ExecTIというフリーソフトを利用して修正した。
PerAppRuntimeBroker
PerAppRuntimeBroker がアクセス権を要求したことを示唆するログです。
このログは、WindowsメジャーアップデートによりDCOMコンポーネントが初期化されるため、漏れなく復活してきます。
メッセージ | アプリケーション固有 のアクセス許可の設定では、CLSID {2593F8B9-4EAF-457C-B68A-50F6B8EA6B54} および APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402} の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) のユーザー xxx\yyy SID (S-1-5-21-zzz) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。 |
ログの名前 | システム |
ソース | DistributedCOM (DCOM) |
イベントID | 10016 |
レベル | エラー |
ユーザー | Local User(pcName\UserAccount) |
修正方法
ShellServiceHost
ShellServiceHost がアクセス権を要求したことを示唆するログです。
このログは、WindowsメジャーアップデートによりDCOMコンポーネントが初期化されるため、漏れなく復活してきます。
メッセージ | アプリケーション固有 のアクセス許可の設定では、CLSID {6B3B8D23-FA8D-40B9-8DBD-B950333E2C52} および APPID {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) のユーザー NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。 |
ログの名前 | システム |
ソース | DistributedCOM (DCOM) |
イベントID | 10016 |
レベル | 警告 |
ユーザー | LOCAL SERVICE |
修正方法
ID: 360
ログにある「プロビジョニング」とは、システムやサービスを利用できるように準備することです。具体的には、ハードウェアやソフトウェアのインストール、設定、ネットワークの接続などを行い、システムやサービスを利用できるようにします。
ログは、Windows Hello for Business が使える状態にないことを警告しています。修正する必要はありませんが、Windows起動のたびに記録されるのがウザい時はログの記録を止めることができます。
メッセージ | Windows Hello for Business のプロビジョニングは起動されません。 デバイスは AAD に参加済みです (AADJ または DJ++): Not Tested ユーザーは AAD 資格情報を使用してログオン済みです: No Windows Hello for Business のポリシーが有効になっています: Not Tested Windows Hello for Business のログオン後のプロビジョニングが有効になっています: Not Tested ローカル コンピューターは、Windows Hello for Business のハードウェア要件を満たしています: Not Tested ユーザーはリモート デスクトップ経由でコンピューターに接続されていません: Yes オンプレミス認証ポリシーのユーザー証明書が有効になっています: Not Tested コンピューターは none ポリシーによって制御されています。 詳細については、https://go.microsoft.com/fwlink/?linkid=832647 を参照してください。 |
ログの名前 | Microsoft-Windows-User Device Registration/Admin |
ソース | User Device Registration |
イベントID | 360 |
レベル | 警告 |
ユーザー | Computer\Account |
修正方法はこちらです。
まとめ
このサイトを検索 | Search this site
0 コメント