Iis

IIS 6 登錄網路場

  • August 20, 2009

IIS 6 中是否有以程式方式打開/關閉 Web 場中的日誌記錄。我們有 10 台伺服器,我不想在需要時登錄到每台伺服器並翻轉登錄,然後在我們完成登錄後將其關閉。

我知道遠端管理工具..但想使用 powershell 腳本等。

以程式方式執行此操作(使用 ADSI 和 VBScript)的最簡單方法是使用adsutil.vbs(預設安裝在C:\InetPub\AdminScripts文件夾中)來修改元數據庫中的相關配置選項。您可以在此處找到有關腳本的 IIS 6 版本的更多資訊****

因為日誌記錄可以設置在多個級別,我建議使用以下內容來查找LogType屬性的所有位置:

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:SERVERNAME**以針對 localhost 以外的伺服器執行命令。

有許多修改元數據庫的替代方法,包括(但不限於)通過另一種語言、WMI 或直接 XML 操作使用 ADSI。另請注意,這些說明適用於 IIS 版本 4、5、5.1 和 6。版本 7 略有不同,但安裝了可選的 IIS 6 兼容性組件後,這些說明也適用於 IIS 7.0 和 7.5。

引用自:https://serverfault.com/questions/56231