通过powershell获取IIS日志位置?

Jos*_*iah 5 iis powershell logging

我正在编写一个脚本,我希望能够在IIS服务器之间轻松移动以分析日志,但这些服务器将日志存储在不同的位置.有些在C:/有些在D:/有些在W3SVC1,有些在W3SVC3.我希望能够让PowerShell自己查看这些信息,而不必在每台服务器上手动编辑它.(是的,我是一个懒惰的系统管理员.#automateallthethings.)

如果我可以将域名传递给它,那么这些信息是否可供PowerShell使用?

小智 13

我发现这对我有用,因为我想知道所有站点的日志目录.

Import-Module WebAdministration

foreach($WebSite in $(get-website))
    {
    $logFile="$($Website.logFile.directory)\w3svc$($website.id)".replace("%SystemDrive%",$env:SystemDrive)
    Write-host "$($WebSite.name) [$logfile]"
    } 

  • 上面的“ w3scv”应该是“ w3svc”。由于字符数不足,无法编辑。 (2认同)

Jos*_*iah 3

Import-Module WebAdministration

$sitename = "mysite.com"
$site = Get-Item IIS:\Sites\$sitename
$id = $site.id
$logdir = $site.logfile.directory + "\w3svc" + $id
Run Code Online (Sandbox Code Playgroud)

感谢Chris Harris将网站 ID 的想法放入我的脑海中。之后我能够更好地搜索,它引导我找到了 WebAdministration 模块及其使用示例。