locked
Windows 10 および Windows Server 2016 において IIS の構成の変更時に警告イベントが記録されてしまう不具合について RRS feed

  • 全般的な情報交換

  • こんにちは。Internet Information Services (IIS) サポート チームです。

     

    今回は Windows 10 および Windows Server 2016 において IIS の構成の変更時に警告イベントが記録されてしまう不具合についてお知らせいたします。

    Windows 8.1 および Windows Server 2012 R2 以前の OS および IIS は該当しません。

     

    Windows Server 2008 (IIS 7.0) 以降の IIS では、IIS の構成の変更を行うと、IIS の構成情報の履歴を取得する機能が既定で有効となっています。取得された情報は、正常に動作している時の構成情報のバックアップとして利用できます。

     

    IIS 7.0 の構成履歴の使用

    https://technet.microsoft.com/ja-jp/library/ee890781.aspx

     

    構成履歴 <configHistory>

    https://technet.microsoft.com/ja-jp/library/ee431575.aspx

     

    Windows 10 および Windows Server 2016 においてもこの機能が有効となっていますが、上記 OS では構成情報の履歴が取得される際に下記の警告イベントが記録されます。

     

    イベントの例

     

    エラーコード

    上記イベント自体は、一般的には構成情報の履歴の取得処理にて何らかの問題が発生したことを示すイベントです。

     

    ただし、上記のエラー コードの EventData にある 12000780 (実際はリトルエンディアンとなりますため、2 つずつ反転して読み、Word 形式のところに記載されているように 80070012= ERROR_NO_MORE_FILES となります) Windows 10 および Windows Server 2016 で記録された場合、問題は起きておりません。

     

    構成情報の履歴の取得処理では、すでに履歴の数が設定されている最大数 (既定値は 10) に達している場合に、古い履歴を削除する処理を行います。この際、Windows 10 および Windows Server 2016 では、FindFirstFile() FindNextFile() API といったファイルを検索する API を利用して配下のサブフォルダーを含めてファイルを検索し、順次削除する処理を実施しております。

     

    FindFirstFile

    https://msdn.microsoft.com/ja-jp/library/cc429233.aspx

     

    FindNextFile

    https://msdn.microsoft.com/ja-jp/library/cc429242.aspx

      

    構成履歴を削除する処理では上記 API にて何らかのエラー コードが返された場合にイベントを記録するようになっておりますが、フォルダー内のファイルをすべて削除し、一致するファイルがなくなった状態で FindNextFile() API から返されることが想定されている、ERROR_NO_MORE_FILES エラーが返った際もイベントが記録されるという不具合がございます。

     

    上記の結果、最も古い履歴を含むフォルダー (CFGHISTORY_<数値>) を削除する処理や、配下の schema サブフォルダーに対する処理にて一連の履歴ファイルを削除した後に上述のイベントが記録されます。また、最も古い履歴フォルダーのみ、空のフォルダーとして履歴が残る動作となります。

     

    警告のイベントとして記録されておりますが、最も古い履歴フォルダー以外 (最新の履歴フォルダーを含む) は正しく構成の履歴が保存されており、また、構成の履歴処理が失敗しても、動作している IIS や Web アプリケーションの処理に影響があるといったこともございませんのでご安心ください。

     

    なお、原因は製品の不具合と判明しておりますが、大変恐縮ながら上記の通り実質の影響はほとんどないため、現時点では当該 OS バージョンに対して修正プログラムが用意される予定はございません。

     

    誠に恐れ入りますが、対象のサーバーの運用においては、ソース : IIS-APPHOSTSVC 、イベント ID : 9009 のイベントが記録された際、エラー コードが 80070012 であれば上記のエラー イベントを無視していただきますようお願い申し上げます。


    2019年2月18日 0:45
    所有者