我想审核IIS6服务器上的应用程序池,我想检查哪些网站与每个应用程序池以及它们正在运行的.NET版本相关。 我怎样才能做到这一点,而无需手动去界面,并依次看每一个?
使用iisapp.vbs列出应用程序池:
iisapp.vbs
不幸的是,与IIS7不同,应用程序池并不知道正在运行的是哪个.NET版本,而只是加载网站所要求的filter,因此您必须遍历这些网站并获取信息。 这个StackOverflow的答案有一个build议的脚本来散步网站,并列出他们的应用程序池和.NET版本。
(在StackOverflow中将脚本信用于@Kev)
# Walk sites $allsites = ([adsi]"IIS://Localhost/W3SVC").children | where { $_.SchemaClassName -eq "IIsWebServer" } $pools = @() foreach($site in $allsites) { $path = "IIS://Localhost/W3SVC/" + $site.Name + "/root" $siteRoot = [adsi]$path $sitePool = $siteRoot.AppPoolId $aspx = $siteRoot.ScriptMaps | where { $_.StartsWith(".aspx") } if( $aspx.Contains("v1.1")) { $runtime = "1.1" } elseif ($aspx.Contains("v2.0")) { $runtime = "2.0" } elseif( $aspx.Contains("v4.0")) { $runtime = "4.0" } else { $runtime = "Unknown" } $v = @{AppPool = $siteRoot.AppPoolId; RunTime = $runtime; SiteId = $site.Name} $pools += $v } $pools | Sort-Object { $_.AppPool } | % { Write-Host $_.AppPool $_.SiteId $_.RunTime }