В inetpub \ logs \ LogFiles есть несколько веб-сайтов и несколько папок (W3SVC1, W3SVC2 и т. Д.). Как я могу найти, какая папка используется данным веб-сайтом?
В inetpub \ logs \ LogFiles есть несколько веб-сайтов и несколько папок (W3SVC1, W3SVC2 и т. Д.). Как я могу найти, какая папка используется данным веб-сайтом?
Ответы:
Хорошо, я нашел это свойство - оно называется «идентификатор сайта» и находится в «Дополнительные свойства» веб-сайта.
«Откройте диспетчер 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 соответствует идентификатору, найденному в файлах журнала. inetpub \ logs \ LogFiles (W3SVC1, W3SVC2
Вы можете найти на сайте свойства IIS Manager. В IIS 6 идентификатор веб-сайта - это случайное число для каждого создаваемого сайта, отличного от веб-сайта по умолчанию, у которого идентификатор веб-сайта равен 1.
Например:
Знание того, к какому веб-сайту они относятся, является проблемой, так как требует, чтобы вы вручную просматривали каждый веб-сайт. Следующий скрипт 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")
Существует также другой способ сделать это: все журналы IIS записывают идентификатор PORT как часть журналов. Например, пример журнала IIS может выглядеть следующим образом: 2018-06-08 18:17:29 10.172.87.35 HEAD / hbeat / - 26358 - 192.xxx.xxx.xxx - - 200 0 0 0
в приведенном выше примере 26358 - это мой порт, и вы будете знать, что это соответствует тому, какой из ваших веб-сайтов находится на том же сервере. Так что просто откройте файл журнала и найдите номер порта.