Как найти соответствующую папку log files для веб-сайта?

есть несколько веб-сайтов и несколько папок в разделе inetpublogsLogFiles (W3SVC1, W3SVC2 и т. д.). Как я могу найти, какая папка используется данным веб-сайтом?

5 ответов


хорошо, я нашел это свойство-оно называется " идентификатор сайта "и находится в" расширенные свойства " веб-сайта.


для пользователей для iis6

'Откройте Диспетчер IIS, нажмите на папку веб-сайтов верхнего уровня, просмотрите списки сайтов в правой панели, список идентификаторов приложений.'

благодаря Сэму на неисправности сервера


мы также можем сделать это с помощью командной строки :

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


вы можете найти на веб-сайте свойства диспетчера IIS. В IIS 6 идентификатор веб-сайта-это произвольно сгенерированный номер для каждого сайта, созданного помимо веб-сайта по умолчанию, который имеет идентификатор веб-сайта 1.

например:

  • W3SVC1
  • W3SVC719499532
  • W3SVC383732556

зная, какой веб-сайт эти существа является проблемой, как это требует, чтобы вы вручную посмотреть на каждом веб-сайте. Следующий сценарий VB позволит вам вывести ID и имя.

сохраните скрипт в файл с a .Расширение файла 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")

есть и другой способ сделать это: Все журналы IIS будут записывать идентификатор порта как часть журналов. Е. Г. образец журнала IIS может выглядеть следующим образом: 2018-06-08 18:17: 29 10.172.87.35 HEAD /hbeat/ - 26358 - 192.ХХХ.ХХХ.ХХХ - - 200 0 0 0

в приведенном выше примере 26358-это мой идентификатор порта, и вы будете знать, что это соответствует одному из ваших веб-сайтов на том же сервере. Поэтому просто откройте файл журнала и найдите номер порта.