禁用特定的 W3C 日志记录字段

禁用特定的 W3C 日志记录字段

是否有命令或 PS 命令可以禁用特定的 W3C 日志字段?

我知道您可以直接转到 IIS 管理器并取消选中该框,但我有几百台服务器要处理。

答案1

有一个 powershell 命令可以实现这一点:

Set-WebConfigurationProperty

您可以在 IIS GUI 中轻松生成命令。选择服务器(IIS 的顶层),然后选择配置编辑器。转到“system.applicationHost/log”部分。进行编辑,然后找到“生成脚本”链接。

这是我在我们的应用服务器上使用的简单示例。

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.applicationHost/log/centralW3CLogFile" -name "logExtFileFlags" -value "Date,Time,ClientIP,UserName,SiteName,ComputerName,ServerIP,Method,UriStem,UriQuery,HttpStatus,Win32Status,TimeTaken,ServerPort,UserAgent,Referer,HttpSubStatus"

如果这给您带来麻烦,您还可以使用 appcmd 工具进行如下操作(将 MySiteName 更新为您的 IIS 站点名称,将 id='6' 更新为您的网站的 ID):

C:\windows\system32\inetsrv\Appcmd set config -section:sites /[name='"MySiteName"',id='6'].logFile.logExtFileFlags:Date,Time,ClientIP,UserName,ServerIP,Method,UriStem,HttpStatus,Win32Status,TimeTaken,ServerPort,UserAgent,Cookie,HttpSubStatus 

相关内容