IIS高级登录-通过Powershell编写出筛选器脚本

IIS高级登录-通过Powershell编写出筛选器脚本,powershell,iis,iis-advanced-logging,Powershell,Iis,Iis Advanced Logging,我已经通过powershell编写了大部分IIS高级日志记录设置的脚本 目标 我想自动化根服务器日志定义的部分。我尝试了多个命令,但似乎都不起作用 最后,system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-server']部分应该有如下XML: <filter> <condition operator="And">

我已经通过powershell编写了大部分IIS高级日志记录设置的脚本

目标 我想自动化根服务器日志定义的
部分。我尝试了多个命令,但似乎都不起作用

最后,
system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-server']
部分应该有如下XML:

<filter>
    <condition operator="And">
        <condition operator="And">
            <expression field="URI-Stem" operator="NotEquals" value="/serverstatuscheck" caseSensitive="false" regularExpression="false" />
        </condition>
    </condition>
</filter>

然后我尝试了以下命令,并得到了错误AddWebConfiguration:缺少键值。(虽然我不确定它要找的是哪把钥匙):

尝试2 我的下一次尝试是使用生成脚本。所以我去做了更改,点击了生成脚本,并取出了它生成的Powershell。下面是它的样子:

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition" -name "." -value @{}

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition/condition[]" -name "." -value @{field='URI-Stem';operator='NotEquals';value='/serverstatuscheck'}
但这也不起作用。我得到了相同的添加网络配置:缺少键值。错误如上所述

我的问题 有人能把我推向正确的方向吗?我感觉自己很接近,但一直在碰壁。我可以手动配置它


提前感谢您的帮助

多次尝试后,请尝试以下方法:

Add-WebConfigurationProperty -Filter "/system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition" -name "." -value @{field='URI-Stem';operator='NotEquals';value='/serverstatuscheck'}

谢谢这是可行的,启用reg exp的参数是什么?
Add-WebConfiguration -Filter "system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition" -Value @{operator='And'}
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition" -name "." -value @{}

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition/condition[]" -name "." -value @{field='URI-Stem';operator='NotEquals';value='/serverstatuscheck'}
Add-WebConfigurationProperty -Filter "/system.webServer/advancedLogging/server/logDefinitions/logDefinition[@baseFileName='%COMPUTERNAME%-Server']/filter/condition" -name "." -value @{field='URI-Stem';operator='NotEquals';value='/serverstatuscheck'}