masalibの日記

システム開発、運用と猫の写真ブログです

IISの設定ファイルが壊れた・・・\(^o^)/

WindowsServer2008で
GUIでサイトを作ろうとすると

「データが正しくありません。(HRESULTからの例外:0x80090005)
ようなエラーメッセージが表示される」
色々、調べてみた所
ローカルの環境ではなく他のサーバーにファイルでのIISのサイトの作成ででるエラーだった

原因はIISの設定ファイルを直接更新した為だと思われる
serverfault.com


IISの設定ファイルは
c:\Windows\System32\inetsrv\config
applicationHost.config
にあるこのファイルを直接、修正した

だって仮想ディレクトリの数が多かったんだもん!!

対応は
IISの再インストール
・OSの再インストール
の二択だった

結局、正常に動いているOSのイメージから
作り直すことにした
これが前の悲劇につながるとは思いもしなかった
IISの再インストールをやってみればよかったと思う

どうしてもIISの再インストールやOSの再インストールもできない場合は
設定ファイルを直接かけばできる

正常に動いている設定ファイルを壊れた設定ファイルにコピーして
パスワードの部分を変換してやればOKです

<virtualDirectory path="/" physicalPath="\\192.0.2.141\xxxx$\web" userName="IUSR_XXXX" password="[enc:AesProvider:kM4mmisQDvVgLXhu1jpE++vcjQ/lMyFE52NF4aYA4N5+oVgv1/57UICVSUk9vj5i:enc]" />
 ↓
<virtualDirectory path="/" physicalPath="\\192.0.2.141\xxxx$\web" userName="IUSR_XXXX" password="xxxxpasswordxxxx" />

たくさん仮想ディレクトリがある場合は
秀丸の置換でやるのがいいと思う

[enc:AesProvider:kM4mmisQDvVgLXhu1jpE++vcjQ/lMyFE52NF4aYA4N5+oVgv1/57UICVSUk9vj5i:enc]
の文字列はバラバラなので
秀丸正規表現で一括置換する

正規表現をつけて
検索:enc.*enc
置き換え文字列:xxxxpasswordxxxx


正規表現をはずして
検索:[xxxxpasswordxxxx]
置き換え文字列:xxxxpasswordxxxx

教訓
 IISはクソで、設定は直接さわるのは危険!!