[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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM