[Powershell] 检查IIS设置

时间:2023-03-09 06:33:01
[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