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

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

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

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

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

C:\>

我需要做的是找到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" />

答案1

查看:

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config

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

相关内容