![IIS 6 在 Webfarm 上登录](https://linux22.com/image/491425/IIS%206%20%E5%9C%A8%20Webfarm%20%E4%B8%8A%E7%99%BB%E5%BD%95.png)
在 IIS 6 中是否有办法以编程方式打开/关闭 Web 场中的日志记录。我们有 10 台服务器,我不想在需要时登录到每台服务器并打开日志记录,然后在我们完成后登录并将其关闭。
我了解远程管理工具..但想使用 powershell 脚本或类似的东西。
答案1
以编程方式(使用 ADSI 和 VBScript)执行此操作的最简单方法是使用广告实用程序(默认安装在C:\InetPub\AdminScripts文件夹)来修改元数据库中的相关配置选项。您可以找到有关 IIS 6 版本脚本的更多信息这里...
由于日志记录可以设置在多个级别,因此我建议使用以下命令查找日志类型财产:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs FIND LogType
然后,您可以遍历每个记录当前值,例如,对于网站n:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs GET /LM/W3SVC/
n/LogType
最后,你要找的是,这是一个禁用网站登录的示例n通过将值设置为零(您需要遍历找到的所有节点,因为子节点设置始终会覆盖继承的父节点设置):
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET /LM/W3SVC/
n/LogType 0
所有上述命令也可以附加-s:
服务器名称针对本地主机以外的服务器执行命令。
有多种修改元数据库的替代方法,包括(但不限于)通过其他语言使用 ADSI、WMI 或直接 XML 操作。另请注意,这些说明适用于 IIS 版本 4、5、5.1 和 6。版本 7 略有不同,但安装了可选的 IIS 6 兼容组件后,这些说明也适用于 IIS 7.0 和 7.5。