在 inetpub\logs\LogFiles(W3SVC1、W3SVC2 等)下有多个网站和多个文件夹。如何找到给定网站使用的文件夹?
问问题
70078 次
5 回答
208
好的,我找到了这个属性 - 它被称为“站点 ID”,位于网站的“高级属性”中。
于 2012-03-19T07:17:58.150 回答
33
于 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 回答