当前位置首页 > IIS知识

检测IIS应用程序池对象回收[Powershell]检查IIS设置

阅读次数:231 次  来源:admin  发布时间:

function RecycleYourAppPool([string] $poolName){

Import-Module WebAdministratio

#获取所有Application Pool

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
$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
上一篇:RHEL/CentOS/Fedora各种源
下一篇:linux下MySQL安装及设置