下面的脚本将在正确运行脚本的服务器上拉出应用程序池状态。.但是,它不会在第二台服务器上显示正确的应用程序池值和状态。它反映的是第一台服务器上的状态,但是反映了正确的第二台服务器名称。
导入模块Web管理
$ AppPool =获取内容“ D:\ HealthCheck \ AppPool.txt”
$ webapps = Get-WebApplication
############################获取应用程序池状态功能AppPoolstatus($ serverlist,$ ApplicationPools)
{
foreach($ serverlist中的$ machineName)
{
foreach($ ApplicationPools中的$ item)
{
$ AppPoolstatus =(Get-WebAppPoolState $ item).Value;
if($ AppPoolstatus -eq“已启动”){
添加内容$ Report“”
Add-Content $Report "<td bgcolor= 'GainsBoro' align=center> <B>$machineName</B></td>"
Add-Content $Report "<td bgcolor= 'GainsBoro' align=center> <B>$item</B></td>"
Add-Content $Report "<td bgcolor= '#00FF00' align=center><B>$AppPoolstatus</B></td>"
Add-Content $Report "</tr>"
}
else
{
添加内容$ Report“”
Add-Content $Report "<td bgcolor= 'GainsBoro' align=center> <B>$machineName</B></td>"
Add-Content $Report "<td bgcolor= 'GainsBoro' align=center> <B>$item</B></td>"
Add-Content $Report "<td bgcolor= 'Red' align=center><B>$AppPoolstatus</B></td>"
Add-Content $Report "</tr>"
}
}
}
}
#################################### Call函数AppPoolstatus $ computers $ AppPool