2017-04-06 69 views
0

https://www.interfacett.com/blogs/how-change-iis-log-contents-powershell/告诉我如何在服务级别设置默认文件字段,有帮助:-) 但我想设置实际文件字段(add sc字节和cs字节)在一个单独的命名网站级别 - 因为你可以很容易地通过IIS GUI是 - 但更好地能够使用可重复的脚本对多个IIS web进行SET和GET(检查)&应用服务器 - 是啊,我真的很想有一个豪华的脚本目录IIS服务...如何使用Set-WebConfigurationProperty向现有IIS网站日志添加新字段

所以这精美的作品: -

调用命令-Session $ {会话 Set-WebConfigurationProperty -Filter System.Applicationhost/Sites/SiteDefaults/logfile -Name LogExtFileFlags -Value“Date,Time,ClientIP”}

....我可以 - 感谢一个Stackoverflow提示 - 使用IIS的GUI配置编辑器创建相同的Powershell - 在默认日志文件设置的服务级别。

因此,我试图使用Web站点级别的配置编辑器将sc-bytes和cs-bytes字段添加到实际的日志文件,但日志文件未出现在列表中?

我已经放弃了现在并使用了GUI。

我看到其他人问类似的问题,并希望我们都可以得到答案:-)

+0

问题很不清楚。你究竟在寻找什么?为什么'sc-bytes'在服务器级别的命令中不起作用或者如何在站点级别设置? –

回答

0

你需要使用该属性的值是不一样的,在IISLOG列名,但枚举值为LogExtFileFlags。您可以使用提供的MSDN链接查找值或使用服务器上的GUI进行设置,并使用Get-WebConfigurationProperty获取值。例如:

Get-WebConfigurationProperty -Filter System.Applicationhost/Sites/SiteDefaults/logfile -Name 
LogExtFileFlags 
Date,Time,ClientIP,ServerIP,BytesSent,BytesRecv 

#This doesn't work because sc-bytes and cs-bytes are not the right values 
Set-WebConfigurationProperty -Filter System.Applicationhost/Sites/SiteDefaults/logfile -Name LogExtFileFlags -Value "Date,Time,ClientIP,sc-bytes,cs-bytes" 

#However this works 
Set-WebConfigurationProperty -Filter System.Applicationhost/Sites/SiteDefaults/logfile -Name LogExtFileFlags -Value "Date,Time,ClientIP,BytesSent,BytesRecv" 

要获得并为特定网站设置日志记录的字段,使用:

#Get current 
PS > (Get-ItemProperty 'IIS:\Sites\Default Web Site\' -Name logfile).logExtFileFlags 
Date,Time,ClientIP,ServerIP,BytesSent,BytesRecv 

#Set new value 
PS > Set-ItemProperty 'IIS:\Sites\Default Web Site\' -Name logfile -Value @{logExtFileFlags = "Date,T 
ime,ClientIP,ServerIP,BytesSent" } 

#Verify 
PS > (Get-ItemProperty 'IIS:\Sites\Default Web Site\' -Name logfile).logExtFileFlags 
Date,Time,ClientIP,ServerIP,BytesSent 
+0

谢谢你的时间和麻烦,并抱歉埋葬了这个问题,谢谢。 – alboard

+0

它解决了你的问题吗?如果是这样,哪一部分? –

+0

太好了。 :-)如果它解决了您的问题,请记住通过接受正确答案来解决问题。 –