我正在编写一个将网站部署到 IIS 7 的 powershell 脚本。我想使用 powershell 中的 Web-Administration 模块而不是 appcmd 执行以下命令来删除自定义标头。如何在不使用 appcmd 的 powershell 中执行此命令?
appcmd set config /section:httpProtocol /-customHeaders.[name='X-Powered-By']
    我正在编写一个将网站部署到 IIS 7 的 powershell 脚本。我想使用 powershell 中的 Web-Administration 模块而不是 appcmd 执行以下命令来删除自定义标头。如何在不使用 appcmd 的 powershell 中执行此命令?
appcmd set config /section:httpProtocol /-customHeaders.[name='X-Powered-By']
    要删除 iis 级别的标头:
Remove-WebConfigurationProperty -PSPath MACHINE/WEBROOT/APPHOST  
                                -Filter system.webServer/httpProtocol/customHeaders 
                                -Name . 
                                -AtElement @{name='X-Powered-By'}
对于特定站点:
Remove-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST/Default Web Site'
                                -Filter system.webServer/httpProtocol/customHeaders
                                -Name .
                                -AtElement @{name='X-Powered-By'}
    xff-ip从x-forwarded-for请求标头中获取远程客户端 IPAdd-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.applicationHost/sites/siteDefaults/logFile/customFields" -name "." -value @{logFieldName='xff-ip';sourceName='X-FORWARDED-FOR';sourceType='RequestHeader'}
或者对于特定站点:
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='My Super Site']/logFile/customFields"  -name "." -value @{logFieldName='xff-ip';sourceName='X-FORWARDED-FOR';sourceType='RequestHeader'}
xff-ipRemove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/siteDefaults/logFile/customFields" -name "."  -AtElement @{logFieldName='xff-ip'}
或仅来自您的网站
Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='My Super Site']/logFile/customFields"  -name "." -AtElement @{logFieldName='xff-ip'}