$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