Bir web sitesi için ilgili günlük dosyaları klasörü nasıl bulunur?


150

İnetpub \ logs \ LogFiles (W3SVC1, W3SVC2, vb.) Altında birden çok web sitesi ve birden çok klasör vardır. Belirli bir web sitesi tarafından hangi klasörün kullanıldığını nasıl bulabilirim?

Yanıtlar:


200

Tamam, bu özelliği buldum - "site kimliği" denir ve web sitesinin "Gelişmiş Özellikler" nde bulunur.


2
Bazılarına ve diğerlerine (kendime) açık olan Site Kimliği, alfasayısal karakterler değil yalnızca bir sayı olabilir.
Mario Tacke

22
IIS7'de: Siteye R tıklayın, 'Web Sitesini Yönet' -> 'Gelişmiş Ayarlar'ı seçin
monty

5
Ayrıca kök Siteler düğümünde, listede gösterilir.
Josh M.

Kimlik: webste benzersiz tanımlayın, günlük dosyaları ve izleme dosyaları için kullanın
Julian89757


13

Komut satırını kullanarak da alabiliriz:

C:\>%windir%\system32\inetsrv\appcmd list site

Çıktı aşağıdaki gibi olacaktır:

SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started)
SITE "Site1" (id:2,bindings:http/*:81:,state:Started)

Kimlik alanı, günlük dosyalarında bulunan kimliğe karşılık gelir. inetpub \ logs \ LogFiles (W3SVC1, W3SVC2


5

IIS yöneticisinin web sitesi özelliklerinden bulabilirsiniz. IIS 6 ile Web Sitesi Kimliği, Web Sitesi Kimliği 1 olan Varsayılan Web Sitesi dışında oluşturulan her site için rasgele oluşturulmuş bir sayıdır.

Örneğin:

  • W3SVC1
  • W3SVC719499532
  • W3SVC383732556

Bunların hangi web sitesine ait olduğunu bilmek, her web sitesine manuel olarak bakmanızı gerektirdiği için bir sorundur. Aşağıdaki VB betiği, kimliği ve adı vermenize olanak tanır.

Komut dosyasını .VBS dosya uzantısına sahip bir dosyaya kaydedin ve sonra bu komutu kullanarak çalıştırın (IIS 6 için).

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")

Böyle bir diyalog yok. Dosya adı olmayan yalnızca günlük özellikleri sekmesi. (Windows Server 2008)
user626528

1
Satır 12'de "geçersiz sözdizimi" yazıyor
user626528

0

Bunu yapmanın başka bir yolu daha var: Tüm IIS günlükleri, PORT Kimliği'ni Günlüklerin bir parçası olarak yazar. Örnek bir IIS günlüğü şöyle görünebilir: 2018-06-08 18:17:29 10.172.87.35 HEAD / hbeat / - 26358 - 192.xxx.xxx.xxx - - 200 0 0 0

yukarıdaki örnekte, 26358 bağlantı noktası kimliğimdir ve bunun aynı sunucudaki web sitelerinizden hangisine karşılık geldiğini bileceksiniz. Yani sadece günlük dosyasını açın ve bağlantı noktası numarasını arayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.