Windows 7 または Windows Server 2008 R2 用 Service Pack 1 をインストールした後、イベント ID 10 がアプリケーション ログに記録されます

この記事では、Windows 7 または Windows Server 2008 R2 用 Service Pack 1 をインストールした後にログに記録されるイベント ID 10 を解決するためのスクリプトを提供します。

適用対象: Windows 7 Service Pack 1、Windows Server 2008 R2 Service Pack 1
元の KB 番号: 2545227

現象

統合メディアを使用して Windows 7 Service Pack 1 (SP1) または Windows Server 2008 R2 SP1 をインストールすると、再起動するたびに次の WMI エラーがアプリケーション ログに記録されます。

Log Name - Application  
Source - WMI  
EventID - 10  
Level - Error  
User - N/A  
OpCode - Info  
Task Cat - None  
Keywords - Classic  
Details - Event filter with query "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" could not be reactivated in namespace "//./root/CIMV2" because of error 0x80041003. Events cannot be delivered through this filter until the problem is corrected.

原因

この問題は、Windows 7 SP1 DVD/ISO 作成プロセスで発生しました。 作成プロセスで、WMI 登録が DVD/ISO に残る問題が発生しました。 登録は DVD/ISO 作成プロセス中にのみ機能するように設計されているため、ライブ システムでの実行に失敗し、これらのイベントが発生します。 これらのイベントは、システム内の問題を示すものであり、無視しても問題ありません。 これらのイベントが生成されないようにし、この特定の WMI 登録を手動で削除する場合は、回避策スクリプトを実行します。

解決方法

この問題を解決するには、スクリプトを実行してイベント ID 10 メッセージを停止します。 スクリプトを実行するには、次の手順に従います。

  1. メモ帳で、 という名前の新しいドキュメント Workaround.txt作成します。

  2. 次のスクリプトをメモ帳にコピーします。

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\subscription")
    Set obj1 = objWMIService.ExecQuery("select * from __eventfilter where name='BVTFilter' and query='SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA ""Win32_Processor"" AND TargetInstance.LoadPercentage > 99'")
    For Each obj1elem in obj1
    set obj2set = obj1elem.Associators_("__FilterToConsumerBinding")
    set obj3set = obj1elem.References_("__FilterToConsumerBinding")
    For each obj2 in obj2set
    WScript.echo "Deleting the object"
    WScript.echo obj2.GetObjectText_
    obj2.Delete_
    next
    For each obj3 in obj3set
    WScript.echo "Deleting the object"
    WScript.echo obj3.GetObjectText_
    obj3.Delete_
    next
    WScript.echo "Deleting the object"
    WScript.echo obj1elem.GetObjectText_
    obj1elem.Delete_
    Next
    
  3. テキストを Workaround.vbsとして保存します。

  4. メモ帳を閉じます。

  5. 管理者特権のコマンド プロンプトを開きます。

    1. [スタート] を選択します。
    2. [ プログラム] を選択します
    3. コマンド プロンプトを右クリックします。
    4. [ 管理者として実行] を選択します。
  6. [ディレクトリ] を workaround.vbsを含 むディレクトリに変更します (例: CD c:\users\%username%)。

  7. workaround.vbsスクリプトを実行します。

スクリプトを実行すると、このイベントに関連するイベント ID 10 エラーが発生しなくなります。 このスクリプトでは、イベント ログ内の既存のエントリは削除されません。アプリケーション イベント ログから手動でクリアする必要があります。

注:

イベント ID 10 エラー メッセージには、他にも理由が考えられます。 この回避策は、上記のエラー メッセージが発生するのを防ぐだけです。

詳細

上記の特定のイベント ID 10 エラー メッセージは無視しても問題ありません。 Service Pack またはオペレーティング システムに関する問題を示すわけではありません。

データ収集

Microsoft サポートの支援が必要な場合は、「展開関連の問題について TSS を使用して情報を収集する」に記載している手順に従って情報を収集することをお勧めします。