วิธีค้นหาโฟลเดอร์แฟ้มบันทึกที่เกี่ยวข้องสำหรับเว็บไซต์ได้อย่างไร


150

มีหลายเว็บไซต์และหลายโฟลเดอร์ภายใต้ inetpub \ logs \ LogFiles (W3SVC1, W3SVC2, ฯลฯ ) ฉันจะค้นหาโฟลเดอร์ที่ใช้โดยเว็บไซต์ที่กำหนดได้อย่างไร

คำตอบ:


200

ตกลงฉันพบคุณสมบัตินี้แล้ว - มันเรียกว่า "รหัสไซต์" และอยู่ใน "คุณสมบัติขั้นสูง" ของเว็บไซต์


2
เห็นได้ชัดว่าบางส่วนและไม่ใช่กับคนอื่น ๆ (ตัวเอง) รหัสไซต์สามารถเป็นตัวเลขได้เท่านั้นไม่ใช่ตัวอักษรและตัวเลข
Mario Tacke

22
ซึ่งอยู่ใน IIS7: R-click บนเว็บไซต์เลือก 'จัดการเว็บไซต์' -> 'การตั้งค่าขั้นสูง'
monty

5
มันจะปรากฏบนโหนดรูต Sites ในรายชื่อ
Josh M.

ID: รหัสเฉพาะของเว็บสเตอร์ใช้สำหรับไฟล์บันทึกและไฟล์ติดตาม
Julian89757

30

'เปิดตัวจัดการ IIS คลิกที่โฟลเดอร์เว็บไซต์ระดับบนสุดดูรายการไซต์ในบานหน้าต่างด้านขวามือแสดงรายการรหัสแอป'

ขอบคุณ Sam บน Server Fault


5
สิ่งนี้ก็เป็นจริงเช่นกันใน IIS 7.5
David Rogers

13

เราสามารถรับมันโดยใช้บรรทัดคำสั่ง:

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


5

คุณสามารถค้นหาได้จากคุณสมบัติเว็บไซต์ของตัวจัดการ IIS ด้วย IIS 6 รหัสเว็บไซต์จะเป็นหมายเลขที่สร้างแบบสุ่มสำหรับแต่ละไซต์ที่สร้างขึ้นนอกเหนือจากเว็บไซต์เริ่มต้นซึ่งมีรหัสเว็บไซต์เป็น 1

ตัวอย่างเช่น:

  • w3svc1
  • W3SVC719499532
  • W3SVC383732556

การรู้จักเว็บไซต์เหล่านี้ว่าเป็นปัญหาเพราะคุณต้องดูแต่ละเว็บไซต์ด้วยตนเอง สคริปต์ VB ต่อไปนี้จะอนุญาตให้คุณส่งออก ID และชื่อ

บันทึกสคริปต์เป็นไฟล์ที่มีนามสกุลไฟล์. 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")

ฉันไม่มีกล่องโต้ตอบ เฉพาะแท็บคุณสมบัติบันทึกโดยไม่มีชื่อไฟล์ (Windows Server 2008)
user626528

1
มันบอกว่า "ไวยากรณ์ไม่ถูกต้อง" ที่บรรทัดที่ 12
user626528

0

นอกจากนี้ยังมีวิธีอื่นในการดำเนินการ: บันทึก IIS ทั้งหมดจะเขียนรหัสพอร์ตเป็นส่วนหนึ่งของบันทึก เช่นบันทึก IIS ตัวอย่างอาจมีลักษณะเช่นนี้: 2018-06-08 18:17:29 10.172.87.35 HEAD / hbeat / - 26358 - 192.xxx.xxx.xxx - - 200 0 0 0

ในตัวอย่างด้านบน 26358 เป็นรหัสพอร์ตของฉันและคุณจะรู้ว่าสิ่งนี้สอดคล้องกับเว็บไซต์ใดในเว็บไซต์ของคุณบนเซิร์ฟเวอร์เดียวกัน ดังนั้นเพียงแค่เปิดล็อกไฟล์และค้นหาหมายเลขพอร์ต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.