在IIS 6中有编程方式打开/closuresWeb场中的日志logging。 我们有10个服务器,我不想在需要的时候login到每个服务器上,然后翻动日志,然后当我们完成login并closures它。
我知道远程pipe理工具..但想使用PowerShell脚本之类的。
以编程方式(使用ADSI和VBScript)执行此操作的最简单方法是使用adsutil.vbs (默认安装在C:\ InetPub \ AdminScripts文件夹中)来修改configuration数据库中的相关configuration选项。 你可以在这里find更多关于IIS 6版本的脚本的信息。
由于日志logging可以设置为多个级别,所以我build议使用以下命令查找LogType属性的所有位置:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs FIND LogType
然后你可以迭代每个文件来logging当前值,例如,对于网站n :
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs GET /LM/W3SVC/n/LogType
最后,你正在寻找什么 – 这里是一个例子,通过设置值为零来禁用网站日志logging( 你会想遍历所有发现的节点,因为子节点设置总是覆盖inheritance的父设置 ):
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET /LM/W3SVC/n/LogType 0
以上所有命令都可以附加-s: SERVERNAME,以对除localhost以外的其他服务器执行命令。
有许多替代方法来修改元数据库,包括(但不限于)通过另一种语言使用ADSI,WMI或直接XML操作。 另请注意,这些说明适用于IIS版本4,5,5.1和6.版本7略有不同,但安装了可选的IIS 6兼容性组件,这些说明在IIS 7.0和7.5中也是有效的。