如何为网站找到相应的日志文件夹?

在 inetpub 日志 LogFiles (W3SVC1、 W3SVC2等)下有多个网站和多个文件夹。我怎样才能找到一个给定的网站所使用的文件夹?

71228 次浏览

您可以从 IIS 管理器的网站属性中找到。 对于 IIS6,网站 ID 是为创建的每个网站随机生成的数字,而不是网站 ID 为1的默认网站。

例如:

  • W3SVC1
  • W3SVC719499532
  • W3SVC383732556

知道这些是哪个网站是一个问题,因为它需要您手动查看每个网站。下面的 VB 脚本将允许您输出 ID 和名称。

将脚本保存到扩展名为.VBS 的文件中,然后使用以下命令运行(针对 IIS6)。

Cscript MyFile.VBS

Function ProcessWebSite(ServiceType, SiteNumber)
Set IISWebSite = getObject("IIS://localhost/" & ServiceType & "/" & SiteNumber)
Set IISWebSiteRoot = getObject("IIS://localhost/" & ServiceType & "/" & SiteNumber & "/root")
ProcessWebSite = IISWebSite.ServerComment
Set IISWebSiteRoot = nothing
Set IISWebSite = Nothing
end function


Function ShowSites(ServiceType, ClassName, Title)
Wscript.echo "Web Sites Description"
Wscript.echo "==============================================================="
Set IISOBJ = getObject("IIS://localhost/" & ServiceType)
for each Web in IISOBJ
if (Web.Class = ClassName) then
wscript.echo Ucase(ServiceType) & "/" & Web.Name & _
Space(17-(len(Ucase(ServiceType))+1+len(Web.Name))) & " " & _
ProcessWebSite(ServiceType, Web.name)
end if
next
Set IISOBj=Nothing
WScript.Echo ""
End function


Call ShowSites("w3svc", "IIsWebServer", "Web")

好的,我已经找到了这个属性-它被称为“网站 ID”,并居住在“高级属性”的网站。

打开 IIS 管理器,点击顶级网站文件夹,查看 在右侧面板中的网站列表,列出了应用程序 ID

enter image description here

多亏了服务器故障上的 Sam

我们也可以使用命令行获取它:

C:\>%windir%\system32\inetsrv\appcmd list site

产出如下:

SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started)
SITE "Site1" (id:2,bindings:http/*:81:,state:Started)

Id 字段对应于在日志文件中找到的 id。 Inetpub 日志日志文件(W3SVC1,W3SVC2

还有另一种方法: 所有 IIS 日志都将端口 ID 作为日志的一部分写入。 例如,IIS 日志示例可能如下所示: 2018-06-0818:17:2910.172.87.35 HEAD/hbeat/-26358.192.xxx.xxx.xxx-- 20000

在上面的例子中,26358是我的端口 ID,你会知道这对应于你在同一台服务器上的其中一个网站。打开日志文件,查找端口号。