我只想打印那些停止或停止的 IIS6 池(AppPoolState 为 3 或 4)。如果其他一切都很好(一切都开始了),只需打印出“OK”。我不确定是否有一种简单的方法来检查所有这些。我试图循环遍历应用程序池,逐个检查每个状态,但它看起来有点复杂,似乎有一种更简单的方法可以做到这一点。
这段代码将进入一个循环,该循环运行一个庞大的服务器列表,在每个服务器上运行其他检查,然后打印出一个表。
$iispools = [ADSI]"IIS://$server/W3SVC/AppPools" | foreach {$_.children} | select Name,AppPoolState | where {($_.name -ne "DefaultAppPool")}
if (condition?)
{
write-host "OK"
}
else {
# print stopped/stopping pools here
$iispools | where { $_.apppoolstate -ge 3 } | convertto-html -fragment
}