function RecycleYourAppPool([string] $poolName){
Import-Module WebAdministration
#获取所有Application Pools
Write-Host '开始回收IIS应用程序池...'$poolName
$appPool =ls IIS:apppools |Where-Object{$_.name -eq $poolName}
if($appPool){
$appPool.Recycle();
}
}
RecycleYourAppPool('recyTest')
[Powershell] 检查IIS设置
$script:OutMessage = "ok" function WriteLog([string] $content){ #Write-Host $content $script:OutMessage += $content + "`r`n" } Import-Module WebAdministration #获取所有Application Pools WriteLog "开始检查IIS应用程序池..." Get-ChildItem IIS:apppools | ForEach-Object{ $appPoolName = $_.Name WriteLog("开始检查应用程序池: " + $_.name) $appPool = $_ #检查回收设置 $RecyclingTime = $appPool.recycling.periodicRestart.time.TotalMinutes WriteLog ("--自动回收周期(Minutes):" + $RecyclingTime) #检查账号设置 $identityType = $appPool.processModel.identityType WriteLog("--账号类型:" + $identityType) $userName = $appPool.processModel.userName WriteLog("--用户:" + $userName) #$password = $appPool.processModel.password #生成回收事件日志设置 $LogEventOnRecycle = $appPool.recycling.logEventOnRecycle WriteLog("--LogEventOnRecycle:"+ $LogEventOnRecycle) #把Idle Timeout设为0 $IdleTimeout = $appPool.processModel.idleTimeout WriteLog("--IdleTimeout:"+ $IdleTimeout) #最大工作进程数设置为0,支持NUMA $maxProcesses = $appPool.processModel.maxProcesses WriteLog("--maxProcesses:"+ $maxProcesses) WriteLog (" ") } WriteLog "开始检查IIS网站..." Get-ChildItem IIS:Sites | ForEach-Object{ $site = $_ WriteLog ("开始检查站点: " + $site.name) #检查网站日志目录 WriteLog ("--是否开启IISLOG:" + $site.logFile.enabled) WriteLog ("--日志字段:" + $site.logFile.logExtFileFlags) WriteLog ("--日志存放路径:" + $site.logFile.directory) WriteLog ("--日志文件大小:" + $site.logFile.truncateSize) WriteLog (" ") } $OutMessage