Ich habe einige Websites in IIS7, die für die Ausführung als Domänenbenutzer (MYDOMAIN \ someuser) konfiguriert sind.Microsoft.Web.Administration.ServerManager kann keine Konfigurationsabschnitte mit verschlüsselten Kennwörtern in applicationHost.config lesen
Ich bin mit dem Microsoft.Web.Administration Namespace meine Serverkonfiguration scannen, aber es wirft eine Ausnahme, wenn ich eine dieser „Imitator“ -Seiten getroffen:
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()
}
}
}
}
}
Die tatsächliche Fehlermeldung lautet:
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
Es scheint, dass IIS die MYDOMAIN \ einbenutzer Passwort in applicationHost.config verschlüsselt speichert, die in Bezug auf die Sicherheit ist sehr gut - aber ich habe keine Ahnung, wie die Servermanager bekommen diese zu entschlüsseln.
Irgendwelche Tipps, wie kann ich entweder ServerManager entschlüsseln lassen, oder einfach IIS sagen, um die Passwörter im Klartext zu speichern?
Dies ist übrigens auf IIS7 unter Windows 7 RC.