如何找出给定 IIS7.5 网站的 W3SVC 编号?

如何找出给定 IIS7.5 网站的 W3SVC 编号?

我有一台在 IIS7.5 下运行多个网站的服务器。我想查看某个网站的日志文件。在 C:\inetpub\logs\LogFiles 中,我看到了多个文件夹,从 W3SVC1 到 6。

我如何找出哪个网站对应哪个文件夹?在 IIS6.0 中它会告诉你,但在 IIS7.5 中我找不到这个。

答案1

文件夹上的数字与 IIS 中每个特定站点的站点 ID 相对应。如果您进入 Internet Manager,则可以通过单击导航窗格中的站点节点来查看站点 ID。

因此,如果某个站点的 ID 为 1,则其日志文件夹名称为 W3SVC1,ID2 = W3SVC2,等等。

您还可以查看%WinDir%\System32\Inetsrv\Config\applicationHost.Config,其中包含有关所有站点的信息。它是 XML 格式。您需要<site>在 XML 中查找包含id属性的节点。这是上述特定站点的站点 ID,将与日志文件夹中的数字一致。

<site name="Default Web Site" id="1">

答案2

我使用了 Powershell

Import-Module WebAdministration
$iisAppName = "MySite"
$site = Get-ItemProperty IIS:\Sites\$iisAppName
$site.id

答案3

根据 Robert Brookers 的回答,我创建了以下 powershell 脚本来获取所有站点日志文件夹的列表:

# Import the WebAdministration module
Import-Module WebAdministration

# Get all websites on the local machine
$websites = Get-WebSite

foreach ($website in $websites) {
    # Get the site.id for the website
    $siteId = $website.id

    # Construct the W3SVC folder path for logging
    $w3svcLogPath = "C:\inetpub\logs\LogFiles\W3SVC$siteId"

    # Display the information
    Write-Host "Website: $($website.name)"
    Write-Host "Site ID: $siteId"
    Write-Host "W3SVC Log Folder Path: $w3svcLogPath"
    Write-Host "-------------------------"
}

相关内容