Windows Server 2019 を運用していると、Event Viewer に大量の Event ID 10016 が表示されて困ってしまうことがあります。1分間に何度も、時には同一秒内に繰り返し記録されるため、ログ管理が煩雑になる原因にもなります。ここでは、原因と対処法を分かりやすく解説していきます。
Event ID 10016 が発生する背景
Windows Server 2019 および他の Windows 環境で頻出する Event ID 10016 の正体は、COM (Component Object Model) や DCOM (Distributed Component Object Model) のアクセス許可に関連する問題です。具体的には、下記のようなメッセージがイベントログに繰り返し表示されます。
The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID
{0358B920-0AC7-461F-98F4-58E32CD89148}
and APPID
{3EB3C877-1F16-487C-9050-104DBCD66683}
to the user NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)…
このエラー自体は「ある特定の COM サーバーに対し、Local Activation の権限が付与されていない」ことを示しています。Microsoft の公式見解によれば、Windows 上ではよく見られる現象であり、「実際に機能上の問題が発生していなければ無視しても差し支えない」とされています。ただし、環境によってはアプリケーションの正常動作を妨げるケースもあるため、原因と対策を把握しておくと安心です。
代表的な対処方法
1. Microsoft 公式見解のとおり放置(エラーを無視)
- Microsoft は、「Event ID 10016 はシステム上のパフォーマンスや機能に重大な影響を与えるものではない」と公式に説明しています。
- サーバーやアプリケーションが正常に動作しているなら、特に修正しなくても大きな問題はない可能性が高いです。
- 頻繁に表示されるイベントログに煩わしさを感じる場合は、後述するフィルタリングによる非表示がおすすめです。
2. イベントビューアでフィルターを設定し、表示を抑制
イベントログが大量に記録されることで、ほかの重要なイベントの確認がしにくくなる場合は、Event ID 10016 を除外するフィルターをかける方法があります。イベントログを非表示にするだけなので、システムには変更を加えず、管理上の負担を減らせます。
イベントビューアでのフィルター手順
以下は一般的な手順例を示した表です。実際の画面や OS バージョンによって若干異なる場合があります。
ステップ | 操作内容 |
---|---|
1 | 「イベントビューア」を開き、左ペインの Windows ログ や アプリケーション など対象のログを選択 |
2 | 右クリックで 現在のログのフィルター… を選択 |
3 | 「フィルター」タブまたは「XML」タブで Event ID = 10016 を除外する設定を行う |
4 | 保存して閉じると、イベントビューア上の表示から Event ID 10016 を除外可能 |
上記のステップ 3 で XML フィルターを直接編集してカスタマイズすることもできます。
たとえば、イベントビューアの XML タブを利用して除外フィルターを設定する例として、以下のようにコードを編集します。
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(EventID!=10016)]]</Select>
</Query>
</QueryList>
フィルターの XML 設定で <Select>
要素内に (EventID!=10016)
といった条件を追記することで、特定のイベント ID を除外できます。なお、環境に合わせて System
や Application
など、必要なログのパスを指定してください。
3. DCOM 権限を修正する(上級者向け)
実際にアプリケーションの不具合が出ている、または権限まわりの問題が顕在化している場合には、DCOM のセキュリティ設定を修正してエラーを解消する方法があります。ただし、DCOM の権限変更はシステム全体に影響を与える可能性があるため、テスト環境での検証やバックアップを行ってから慎重に実施してください。
DCOM 構成の変更手順
- dcomcnfg の起動
Win+R キーを押して「ファイル名を指定して実行」を開き、dcomcnfg
と入力して「OK」をクリックします。 - コンポーネント サービス 画面の表示
「コンポーネント サービス」→「コンピュータ」→「マイ コンピュータ」→「DCOM の構成」を開きます。 - 該当するアプリケーション (APPID) の特定
イベントログで表示されるAPPID
(例: {3EB3C877-1F16-487C-9050-104DBCD66683}) と一致するアプリケーションを探します。 - プロパティの編集
見つかったアプリケーションを右クリックし、「プロパティ」を選択します。 - セキュリティ タブで起動アクセス権を変更
「セキュリティ」タブ内の「起動とアクティブ化のアクセス許可」あるいは「アクセス許可」を「編集」し、NETWORK SERVICE (S-1-5-20) など必要なユーザーアカウントに ローカルの起動 (Local Activation) 権限などを付与します。
レジストリの調整が必要な場合も
稀に、DCOM 構成からアクセスできない場合やセキュリティタブがグレーアウトしている場合は、レジストリ エディタで該当する CLSID
や APPID
のキーに対して権限変更を行う必要が出てきます。以下のような流れとなります。
- レジストリ エディタを起動
Win+R キーで「ファイル名を指定して実行」を開き、regedit
と入力し実行します。 - 該当キーを検索
イベントログに表示されている CLSID および APPID をキー名で検索します。 - 所有権の変更とアクセス許可の設定
キーの右クリック→「アクセス許可」→「詳細設定」→「所有者の変更」で管理者に変更し、「フルコントロール」を設定します。 - 必要に応じて再度 dcomcnfg を実行
レジストリで権限が正常に設定された後、再び dcomcnfg で該当アプリケーションのプロパティからセキュリティ設定が編集可能になる場合があります。
これらの作業は上級者向けであり、誤った設定をするとシステム障害やセキュリティリスクを高めてしまう恐れがあります。よく理解した上で行ってください。
4. 実運用への影響とまとめ
前述のとおり、Event ID 10016 のエラーはシステム機能への深刻な影響がない場合が多く、Microsoft からも「無視して問題ない」というスタンスが示されています。しかし、以下のようなケースでは修正を検討しましょう。
- エラーが出現しているサービスやアプリケーションが動作不良を起こしている
- サーバーのセキュリティポリシーで、特定のアカウントに適切な権限を与えたいとき
- 大量ログにより他の重大なイベントが埋もれてしまうケースを完全に排除したいとき
実際にエラーを「完全に解消」したい場合は、DCOM のセキュリティ設定を変更して、NETWORK SERVICE など適切なユーザーに対して「Local Activation」の許可を与えることになります。とはいえ、過度な権限付与はセキュリティ上のリスクも孕むため、必ず影響範囲を見極め、必要最小限の変更にとどめることが大切です。
具体例:エラーの内容を理解する
下記の例は、Event ID 10016 の典型的なエラーメッセージを分解した表です。メッセージの中身を整理することで、問題の所在が COM サーバーにあるのか、DCOM にあるのかを把握しやすくなります。
項目 | 説明 | 例 |
---|---|---|
CLSID | COM クラスオブジェクトを識別するためのユニークな識別子 | {0358B920-0AC7-461F-98F4-58E32CD89148} |
APPID | アプリケーション固有の識別子。dcomcnfg で設定を参照・変更可能 | {3EB3C877-1F16-487C-9050-104DBCD66683} |
NT AUTHORITY\NETWORK SERVICE | Windows のサービス実行アカウントの一つ | S-1-5-20 |
Local Activation Permission | ローカル コンピュータで COM オブジェクトを起動する権限 | DCOM 構成の「起動とアクティブ化のアクセス許可」で設定 |
このように、Event ID 10016 は単に「NETWORK SERVICE など特定のアカウントがローカルアクティベーション権限を持っていない」という事実を示しているだけです。したがって、現状動いているアプリケーションが問題なく利用できているならば、あえて修正する必要がないこともあります。
フィルター設定と権限変更の使い分け
Event ID 10016 の大量発生に直面したときの基本的な対処フローとしては、以下のような手順がおすすめです。
- 現在の運用に支障が出ているかどうかを確認
- もし運用やパフォーマンスに問題が発生していないなら、「放置」または「イベントビューアのフィルター」が最も簡単かつ安全です。
- ログ表示が煩わしい場合は、フィルターやカスタムビューの作成
- 他の重要なイベントと混在してログ管理が難しい場合は、フィルター機能を使って表示を絞り込むだけで問題が解決することも多いです。
- 実害がある、もしくはポリシー上修正が必須の場合は DCOM 設定を変更
- 具体的には、dcomcnfg や レジストリ編集 を用いて「Local Activation」の権限を正しく付与します。
- ただし、付与する権限は必要最小限にとどめ、テスト環境などで検証してから本番環境へ反映するのが望ましいです。
実運用での注意点
サーバーの再起動の必要性
DCOM 権限の設定変更やレジストリの権限変更を行った場合、変更内容を反映させるためにサーバーの再起動が必要となるケースがあります。
- 作業前に必ずリブート可能な時間帯を確保しておく
- 他のシステムとの依存関係も考慮する
権限の継承・排他に関する考慮
Windows には、ドメイン ポリシーやローカル ポリシー、継承設定などさまざまな権限管理の仕組みがあります。意図せず上書きされる可能性を防ぐため、作業前後で GPO (グループ ポリシー) やローカル セキュリティ ポリシーの設定状況を確認しておくのが理想的です。
セキュリティリスクの回避
必要以上の権限を与えると、セキュリティホールが生じるリスクがあります。
- NETWORK SERVICE アカウントはさまざまな Windows サービスで利用されるため、思わぬ影響を及ぼす可能性がある
- Administrator グループに安易に権限を追加しすぎない
環境によっては、DCOM 自体を無効化するかどうかの検討も考えられますが、無効化により他の機能に支障が出るケースもあるため、こちらも慎重に判断してください。
まとめ:必要に応じての対処がおすすめ
Event ID 10016 は Windows Server 2019 に限らず、Windows 10 や Windows 11 といったクライアント OS でも比較的よく見られる現象です。Microsoft のスタンスどおり、通常はシステムの動作に大きな問題を引き起こさないため、以下のいずれかの方法で対処すると良いでしょう。
- まずは放置またはイベントビューアで非表示にする
視認性を高めるための簡単なフィルター設定で、管理者の負担を大幅に軽減できます。 - 実害がある場合は DCOM の権限設定を変更
アプリケーション動作不良の改善や厳密なセキュリティポリシーを求められるときに有効です。 - テスト環境で検証してから本番環境へ
想定外の影響が生じる可能性を減らすために、変更作業前のバックアップやテストは必須です。
日々の運用で、イベントログには多種多様なイベントが記録されます。Event ID 10016 のように繰り返し記録されているエラーは見逃しがちですが、判断のポイントさえ押さえれば適切に管理できます。少し手を加えるだけで、今後のトラブルシューティングがスムーズになるでしょう。
コメント