找不到 appcmd 列出的 IIS 配置文件

Tod*_*cox 5 windows iis configuration appcmd iis-8.5

我正在管理一组 IIS 8.5 服务器,并且正在努力遵守安全基线。

我的问题是这样的:如果我在其中一台 IIS 服务器上运行特定appcmd查询,我会得到以下结果:

C:\>appcmd list config -section:system.web/authentication
<system.web>
  <authentication mode="Forms">
    <forms requireSSL="true">
      <credentials>
      </credentials>
    </forms>
    <passport />
  </authentication>
</system.web>

C:\>
Run Code Online (Sandbox Code Playgroud)

我需要做的是找到appcmd从这里读取的实际配置文件,这样我就可以手动更新相关部分(使用appcmd自身更新会导致各种问题)。我找不到它。到目前为止我已经检查了以下文件:

  • %SYSTEMROOT%\System32\inetsrv\config\applicationHost.config
  • %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
  • %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\web.config
  • %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
  • %SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
  • %WEBROOT%\web.config
  • %WEBROOT%\旧应用程序路径\web.config
  • 新的应用程序路径\web.config

我想不出还有什么地方可以看。大多数这些文件甚至没有一个<system.web>部分,并且它们中的任何地方都没有“凭据”一词。

从哪里appcmd读取以生成上面的输出?


编辑:

我仍在研究这个问题,刚刚在这里找到了以下内容,这可能就是答案:

默认配置

以下默认凭据元素未在 Machine.config 或根 Web.config 文件中显式配置。但是,它是应用程序返回的默认配置。 <credentials passwordFormat="SHA1" />

Pet*_*orf 3

查看:

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config
Run Code Online (Sandbox Code Playgroud)

System.web是一个dot.NET设置,所以它应该在全局web.config文件中,似乎它只在64位版本中,而不是32位框架中。