Как найти соответствующую папку файлов журнала для веб-сайта? - PullRequest
140 голосов
/ 15 марта 2012

В inetpub \ logs \ LogFiles (W3SVC1, W3SVC2 и т. Д.) Есть несколько веб-сайтов и несколько папок.Как я могу узнать, какая папка используется данным веб-сайтом?

Ответы [ 5 ]

183 голосов
/ 19 марта 2012

Хорошо, я нашел это свойство - оно называется «идентификатор сайта» и находится в «Расширенных свойствах» сайта.

29 голосов
/ 05 февраля 2013

Для пользователей IIS6

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

благодаря Сэму из-за ошибки сервера

11 голосов
/ 07 апреля 2015

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

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 соответствует идентификатору, найденному в файлах журнала.inetpub \ logs \ LogFiles (W3SVC1, W3SVC2

5 голосов
/ 15 марта 2012

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

Например:

  • W3SVC1
  • W3SVC719499532
  • W3SVC383732556

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

Сохраните скрипт в файл с расширением .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")
0 голосов
/ 11 июня 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...