156

在 inetpub\logs\LogFiles(W3SVC1、W3SVC2 等)下有多个网站和多个文件夹。如何找到给定网站使用的文件夹?

4

5 回答 5

208

好的,我找到了这个属性 - 它被称为“站点 ID”,位于网站的“高级属性”中。

于 2012-03-19T07:17:58.150 回答
33

“打开 IIS 管理器,单击顶级网站文件夹,在右侧窗格中查看网站列表,列出 App ID。”

在此处输入图像描述

感谢 Sam 关于服务器故障

于 2013-02-05T10:54:56.387 回答
13

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

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\logs\LogFiles (W3SVC1, W3SVC2

于 2015-04-06T21:38:47.533 回答
5

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

例如:

  • W3SVC1
  • W3SVC719499532
  • W3SVC383732556

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

将脚本保存到具有 .VBS 文件扩展名的文件中,然后使用此命令运行(对于 IIS 6)。

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")
于 2012-03-15T10:59:27.000 回答
0

还有另一种方法:所有 IIS 日志都会将 PORT Id 作为日志的一部分写入。例如,示例 IIS 日志可能如下所示: 2018-06-08 18:17:29 10.172.87.35 HEAD /hbeat/ - 26358 - 192.xxx.xxx.xxx - - 200 0 0 0

在上面的示例中,26358 是我的端口 ID,您将知道这对应于同一服务器上的哪个网站。所以只需打开日志文件并查找端口号。

于 2018-06-11T15:24:23.000 回答