●[IIS] IISの構成設定を確認する
IIS圧縮設定するときに圧縮対象とする拡張子を指定するコマンドを実行したあと、確認する方法が知りたい場合。
まずはおさらい
【IIS圧縮設定方法】
①IISマネージャで「Webサイト」のプロパティを開き
②[サービス]タブの「HTTP圧縮」-「アプリケーションファイルを圧縮」をチェックする

③コマンドプロンプトで「C:\Inetpub\AdminScripts」に移動し下記のスクリプトを実行
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "ASP" "dll" "exe" "aspx" "asmx"
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "ASP" "dll" "exe" "aspx" "asmx"
赤字部分は圧縮対象にしたい拡張子を列挙します。
ここで指定するファイルは動的ファイルを指定し、htmlファイルなどの静的ファイルは上図の「静的ファイルを圧縮する」にチェックする(静的圧縮は不可解な挙動をすることがあるようであまり利用しないほうが良いらしい)。
【参考】
HOW TO: IIS での ASPX 圧縮を有効にします。
ここからが今回の本題
【IIS構成設定の確認】
Windows Server 2003のIISにはIIS関連のコマンドが追加されているのでそれを利用することで可能。
IISの設定情報はメタファイル『%systemroot%\system32\inetsrv\metabase.xml』に保存されています。直接このファイルを参照しても良い。(が技術者っぽくないので)
①MMCコンソールの利用によるバックアップ

「ローカルコンピュータ」の右クリック-[すべてのタスク]-[構成のバックアップまたは復元]

バックアップの作成で構成情報がバックアップファイルとして保存されます。
このバックアップファイルの保存先は「%systemroot%\system32\inetsrv\metaback」フォルダで、
設定情報(拡張子MDx)と設定スキーマ(拡張子SCx)がそれぞれ保存されます。
②コマンドによるバックアップ
構成情報に関するコマンドで『iiscnfg』というのがあります。
iiscnfg /export /f c:\iis-config.xml /sp / /children /inherited
上記のマンドを実行すると、IISルートを基点に子の情報まですべてを指定パスに出力してくれます。
/export /f <パス> … <パス>出力先にファイルでエクスポート
/sp / … エクスポートするパスの開始点指定でルートを指定
/children … /sp で指定した場所から再帰的に子をバックアップする
/inherited … 継承されたプロパティ属性も出力
出力されたファイルの中を見ると
IIS圧縮が有効になっているかどうか:HcDoDynamicCompression属性(4行目と23行目)
圧縮対象拡張子の確認:HcScriptFileExtensions属性(13~17と32~36行目)
にそれぞれ記述されています。
参考までにその他のIIS関連コマンド
詳細はWindowsヘルプやコマンドヘルプを見てください。
まずはおさらい
【IIS圧縮設定方法】
①IISマネージャで「Webサイト」のプロパティを開き
②[サービス]タブの「HTTP圧縮」-「アプリケーションファイルを圧縮」をチェックする

③コマンドプロンプトで「C:\Inetpub\AdminScripts」に移動し下記のスクリプトを実行
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "ASP" "dll" "exe" "aspx" "asmx"
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "ASP" "dll" "exe" "aspx" "asmx"
赤字部分は圧縮対象にしたい拡張子を列挙します。
ここで指定するファイルは動的ファイルを指定し、htmlファイルなどの静的ファイルは上図の「静的ファイルを圧縮する」にチェックする(静的圧縮は不可解な挙動をすることがあるようであまり利用しないほうが良いらしい)。
【参考】
HOW TO: IIS での ASPX 圧縮を有効にします。
ここからが今回の本題
【IIS構成設定の確認】
Windows Server 2003のIISにはIIS関連のコマンドが追加されているのでそれを利用することで可能。
IISの設定情報はメタファイル『%systemroot%\system32\inetsrv\metabase.xml』に保存されています。直接このファイルを参照しても良い。(が技術者っぽくないので)
①MMCコンソールの利用によるバックアップ

「ローカルコンピュータ」の右クリック-[すべてのタスク]-[構成のバックアップまたは復元]

バックアップの作成で構成情報がバックアップファイルとして保存されます。
このバックアップファイルの保存先は「%systemroot%\system32\inetsrv\metaback」フォルダで、
設定情報(拡張子MDx)と設定スキーマ(拡張子SCx)がそれぞれ保存されます。
②コマンドによるバックアップ
構成情報に関するコマンドで『iiscnfg』というのがあります。
iiscnfg /export /f c:\iis-config.xml /sp / /children /inherited
上記のマンドを実行すると、IISルートを基点に子の情報まですべてを指定パスに出力してくれます。
/export /f <パス> … <パス>出力先にファイルでエクスポート
/sp / … エクスポートするパスの開始点指定でルートを指定
/children … /sp で指定した場所から再帰的に子をバックアップする
/inherited … 継承されたプロパティ属性も出力
出力されたファイルの中を見ると
IIS圧縮が有効になっているかどうか:HcDoDynamicCompression属性(4行目と23行目)
圧縮対象拡張子の確認:HcScriptFileExtensions属性(13~17と32~36行目)
にそれぞれ記述されています。
参考までにその他のIIS関連コマンド
- iiscnfg … IIS構成管理
- iisback … IISバックアップ管理
- iisvdir … 仮想ディレクトリ
- iisweb … Webサイト管理
- iisftp … FTPサイト管理
- iisftpdr… FTPディレクトリ
- iisext … Webサービス拡張
詳細はWindowsヘルプやコマンドヘルプを見てください。