Comment trouver le dossier de fichiers journaux correspondant à un site Web?

Il existe plusieurs sites Web et plusieurs dossiers sous inetpub \ logs \ LogFiles (W3SVC1, W3SVC2, etc.). Comment puis-je trouver quel dossier est utilisé par un site Web donné?

Ok, j’ai trouvé cette propriété – elle s’appelle “site id” et réside dans “Advanced Properties” du site.

Pour les utilisateurs de IIS6

“Ouvrez le gestionnaire IIS, cliquez sur le dossier des sites Web de niveau supérieur, affichez les listes de sites dans le volet de droite, en répertoriant les ID de l’application.”

merci à Sam sur Server Fault

Nous pouvons également l’obtenir en utilisant la ligne de commande:

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

La sortie serait comme ci-dessous:

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

Le champ id correspond à l’identifiant trouvé dans les fichiers journaux. inetpub \ logs \ LogFiles (W3SVC1, W3SVC2

Vous pouvez trouver à partir des propriétés du site Web du gestionnaire IIS. Avec IIS 6, l’ID du site Web est un numéro généré de manière aléatoire pour chaque site créé autre que le site Web par défaut qui a un ID de site Web de 1.

Par exemple:

  • W3SVC1
  • W3SVC719499532
  • W3SVC383732556

Connaître le site Web auquel il appartient est un problème car il vous oblige à consulter manuellement chaque site Web. Le script VB suivant vous permettra de générer l’ID et le nom.

Enregistrez le script dans un fichier avec une extension de fichier .VBS, puis exécutez-le à l’aide de cette commande (pour 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") 

Il existe également une autre manière de procéder: tous les journaux IIS écrivent l’ID de port dans le cadre des journaux. Par exemple, un journal IIS peut ressembler à ceci: 2018-06-08 18:17:29 10.172.87.35 HEAD / hbeat / – 26358 – 192.xxx.xxx.xxx – – 200 0 0 0

dans l’exemple ci-dessus, 26358 est mon identifiant de port et vous saurez que cela correspond à celui de vos sites Web sur le même serveur. Ouvrez simplement le fichier journal et recherchez le numéro de port.