У 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. З 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 Id як частину журналів. Наприклад, зразок журналу IIS може виглядати так: 2018-06-08 18:17:29 10.172.87.35 HEAD / hbeat / - 26358 - 192.xxx.xxx.xxx - - 200 0 0 0
у наведеному вище прикладі 26358 - це мій порт порту, і ви знаєте, що це відповідає одному з ваших веб-сайтів на тому ж сервері. Так просто відкрийте файл журналу та шукайте номер порту.