ドメインユーザー(MYDOMAIN \ someuser)として実行するように構成されたIIS7のサイトがいくつかあります。Microsoft.Web.Administration.ServerManagerは、applicationHost.configの暗号化されたパスワードを含む構成セクションを読み取ることができません。
私は私のサーバー構成をスキャンするMicrosoft.Web.Administration名前空間を使用していますが、私はこれらの「偽装」のサイトのいずれかを打ったとき、それは例外を投げ:
using (ServerManager sm = new ServerManager()) {
foreach (Site site in sm.Sites) {
foreach (Application app in site.Applications.Reverse()) {
foreach (VirtualDirectory vdir in app.VirtualDirectories.Reverse()) {
var config = app.GetWebConfiguration();
foreach (var locationPath in config.GetLocationPaths()) {
// error occurs in GetLocationPaths()
}
}
}
}
}
実際のエラーメッセージは次のとおりです。
COMException was unhandled
Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config
Line number: 279
Error: Failed to decrypt attribute 'password' because the keyset does not exist
IISが、セキュリティの面で素晴らしいですapplicationHost.configの中で暗号化されたMYDOMAIN \のsomeuserパスワードを保存していることが表示されます - 私はこれを解読するServerManagerのを取得する方法は考えています。
ServerManagerでこれを復号化する方法や、パスワードをプレーンテキストで保存するようにIISに指示する方法についてのヒントはありますか?
これは、Windows 7 RCでIIS7にあります。