我想编写一个powershell脚本,它将在服务器上找到未链接到应用程序的所有应用程序池,然后删除未使用的应用程序池。
我能想到的一种方法是检索所有应用程序池,检索所有IIS应用程序,然后交叉检查这两个列表。有没有更好的方法呢?
答案 0 :(得分:1)
对于那些感兴趣的人,这是我写的代码:
$UsedAppPoolList = get-item "IIS:\Sites\*" | foreach { $_.applicationPool; Get-WebApplication -Site $_.Name | foreach { $_.applicationPool } }
$AppPoolExistList = get-item 'IIS:\AppPools\*' | foreach { $_.Name }
foreach ( $AppPool in $AppPoolExistList ){
if ($UsedAppPoolList -notcontains $AppPool){
Remove-WebAppPool $AppPool
write-host "Delete Application Pool $AppPool"
}
}