Iis 7 Microsoft.Web.Administration.ServerManager可以';t读取applicationHost.config中包含加密密码的配置节

Iis 7 Microsoft.Web.Administration.ServerManager可以';t读取applicationHost.config中包含加密密码的配置节,iis-7,applicationhost,config,Iis 7,Applicationhost,Config,我在IIS7中有一些站点配置为作为域用户运行(MYDOMAIN\someuser) 我正在使用Microsoft.Web.Administration命名空间扫描我的服务器配置,但当我访问其中一个“模拟者”网站时,它引发了一个异常: 实际的错误消息是: COMException was unhandled Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config Line number: 279 Error

我在IIS7中有一些站点配置为作为域用户运行(MYDOMAIN\someuser)

我正在使用Microsoft.Web.Administration命名空间扫描我的服务器配置,但当我访问其中一个“模拟者”网站时,它引发了一个异常:

实际的错误消息是:

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以纯文本形式存储密码,有什么提示吗


顺便说一句,这是在Windows7RC下的IIS7上。IIS对其架构中标记为“encrypted=true”的属性使用加密。此外,在其架构中,它还定义了用于加密的提供程序(请参见C:\Windows\System32\inetsrv\config\schema\IIS\u schema.xml),如果是虚拟目录中的密码,它将使用AesProvider,AesProvider在ApplicationHost.config中的configProtectedData部分中定义

在其中,您将能够看到您需要为任何您希望能够解密的帐户授予权限的KeyContainerName,出于安全原因,默认情况下,该帐户仅包括管理员

这就引出了我的问题,如果您的代码失败,我想您已经将对ApplicationHost.config的访问权限授予了一个非管理员的用户,是这样吗? 如果是这样,那么我建议确保这不会给您的环境带来安全风险

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