Как найти соответствующую папку 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-это мой идентификатор порта, и вы будете знать, что это соответствует одному из ваших веб-сайтов на том же сервере. Поэтому просто откройте файл журнала и найдите номер порта.