Có nhiều trang web và nhiều thư mục trong inetpub \ log \ LogFiles (W3SVC1, W3SVC2, v.v.). Làm thế nào tôi có thể tìm thấy thư mục nào được sử dụng bởi một trang web nhất định?
Có nhiều trang web và nhiều thư mục trong inetpub \ log \ LogFiles (W3SVC1, W3SVC2, v.v.). Làm thế nào tôi có thể tìm thấy thư mục nào được sử dụng bởi một trang web nhất định?
Câu trả lời:
Ok, tôi đã tìm thấy tài sản này - nó được gọi là "id trang web" và nằm trong "Thuộc tính nâng cao" của trang web.
'Mở trình quản lý IIS, nhấp vào thư mục trang web cấp cao nhất, xem danh sách các trang web trong ngăn bên phải, liệt kê ID của ứng dụng.'
Chúng ta cũng có thể lấy nó bằng dòng lệnh:
C:\>%windir%\system32\inetsrv\appcmd list site
Đầu ra sẽ như dưới đây:
SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started)
SITE "Site1" (id:2,bindings:http/*:81:,state:Started)
Trường id tương ứng với id được tìm thấy trong tệp nhật ký. inetpub \ log \ LogFiles (W3SVC1, W3SVC2
Bạn có thể tìm thấy từ các thuộc tính trang web của trình quản lý IIS. Với IIS 6, ID trang web là một số được tạo ngẫu nhiên cho mỗi trang được tạo khác với Trang web mặc định có ID trang web là 1.
Ví dụ:
Biết được những trang web này là một vấn đề vì nó đòi hỏi bạn phải xem thủ công từng trang web. Tập lệnh VB sau đây sẽ cho phép bạn xuất ID và tên.
Lưu tập lệnh vào một tệp có phần mở rộng tệp .VBS và sau đó chạy bằng lệnh này (đối với IIS 6).
bản thảo 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")
Ngoài ra còn có một cách khác để làm điều đó: Tất cả các bản ghi IIS sẽ ghi Id PORT như một phần của Nhật ký. Ví dụ: nhật ký IIS mẫu có thể trông như thế này: 2018-06-08 18:17:29 10.172.87.35 ĐẦU / hbeat / - 26353 - 192.xxx.xxx.xxx - - 200 0 0 0
trong ví dụ trên, 26353 là Id cổng của tôi và bạn sẽ biết điều này tương ứng với một trong những trang web của bạn trên cùng một máy chủ. Vì vậy, chỉ cần mở tệp nhật ký và tìm số cổng.