IIS与ApplicationPool重启检测自动化解决方案

  • 时间:
  • 浏览:1
  • 来源:彩神官网

end{

#0位为最新的Hotfix时间

Get-Process -Name w3wp -ErrorAction SilentlyContinue|CheckPool

for($j=0;$j -lt $global:W3WPSProcesses.length;$j++){

$global:i=$global:i+1

}else{

Write-Host "-----------------------"

if($global:NewOrOldProcess -ne 0){

感谢过程中得到的萌萌姐,Di Sun,Xue Pan在测试上的帮助;

if($global:HotfixTime){

Write-Host "No application pool has been reset or new created after the 'Hotfix' updated."

Write-Host "Through the analysis from 'HotCheck':"

}

#将IISLogs放上去过滤器进行判断

$global:HotfixTime=$global:HotfixLog[0].TimeWritten

Write-Host "Not all the application pool(s) has been reset or new created after the 'Hotfix' updated."

    }

Write-Host "IIS hasn't been reset after the 'Hotfix' updated."

Write-Host "Since there're no 'Hotfix' updated, we don't need to care about whether the IIS has been reset yet."

$global:W3WPStartTime=$global:W3WPSProcesses.StartTime

}

        $cmd = $pattern.Match($_.commandline).Groups[1].Value

if($global:p -eq 0){

begin{

$global:shortNameOfThePool=$global:nameofthepool.substring(0,$global:IndexOfEnd)

$global:Old=$global:Old+1

if($global:New -eq $global:Old){

if($global:W3WPSProcesses[$j].StartTime -gt $global:W3WPStartTime){

    [regex]$pattern="-ap ""(.+)"""

Write-Host "Through the analysis from 'HotCheck':"

#判断IIS与非 在打Hotfix时候 重启过

$global:nameofthepool=(global:get-apppools|Where-Object {$_.pid -eq  $global:process.id}).apppoolid

}

感谢Lardy 哥给予的支持;

$global:p=$global:p+1

}

下载地址:

1.右键tool,run as admin;时要联系我​:Tianyou.Lan

}

另:感谢DL的Dora Liu强力打包的俩个 针对性测试patch和Zhenpeng Liu的各种支持。

$global:Old=$global:Old+1

}

if($_.starttime -gt $global:HotfixTime){

$global:IndexOfEnd=$global:nameofthepool.indexof('"')

$global:nameofthepool=(global:get-apppools|Where-Object {$_.pid -eq  $global:process.id}).apppoolid

$global:HotfixLog=Get-EventLog avepoint|Where-Object {$_.Category -like "*Update Manager*"}

}

if($global:p -ne 0){

if($global:HotfixLog -is [array]){

if($_){

#获取w3wp系统应用应用程序所对应的Application pool(你这些函数是在网上搜的)

#判断结果

}

$global:process=$_

$global:W3WPStartTime=0

if($global:W3WPSProcesses -is [array]){

}

#最近俩个 Hotfix时候 时候时候时候刚开始的时间

        $procid = $_.ProcessId

$global:shortNameOfThePool=$global:nameofthepool.substring(0,$global:IndexOfEnd)

Write-Host "All the application pool(s) has been reset or new created after the 'Hotfix' updated."

$global:IISLogs=Get-EventLog system| where-object {$_.source -like "*IIS*"}

$global:i=0

    gwmi win32_process -filter 'name="w3wp.exe"' | % {

$global:NewOrOldProcess=0

        $name=$_.name

$global:p=0

#filter,判断每一根日志,总的结果输出为i或p。

}

$global:IndexOfEnd=$global:nameofthepool.indexof('"')

Write-Host "The application pool [ $global:shortNameOfThePool ] has not reset after the 'Hotfix' updated."

#最新W3Wp系统应用应用程序开启的时间

$global:HotfixTime=$global:HotfixLog.TimeWritten

if($global:i -eq 0){

}

}

}

$global:W3WPSProcesses=Get-Process -Name w3wp -ErrorAction SilentlyContinue

Hotfix Automatic Check,简称Hot Check,"火柴"。

$global:process=$_

Write-Host "IIS has been reset after the 'Hotfix' updated."

}

}else{

经历了:

        New-Object psobject | Add-Member -MemberType noteproperty -PassThru Name $name |

Write-Host "Through the analysis from 'HotCheck':"

            Add-Member -MemberType noteproperty -PassThru PID $procid

$global:New=$global:New+1

$global:Old=0

}else{

Write-Host "-----------------------"

#$global:IISLogs=Get-EventLog system -After ((get-date).addhours(-5))| where-object {$_.source -like "*IIS*"}

}

function global:get-apppools{

Write-Host "The application pool [ $global:shortNameOfThePool ] has reset or the w3wp process of it is new created after the 'Hotfix' updated."

2.自动检测完成。

}

}

}

#因为有时候 时候 的w3wp系统应用应用程序,取最新的那个。

$global:W3WPStartTime=$global:W3WPSProcesses[$j].StartTime

#i和p都会IISReset标记,0代表没法 重启过,时候 代表重启过。i代表没法 Hotfix,p代表有Hotfix。

function CheckPool{

if($_){

}

            Add-Member -MemberType noteproperty -PassThru AppPoolID $cmd |

$global:New=0

}else{

}

if($global:i -ne 0){

经历了一段时间的研究与学习,我终于完成了你这些为检查打Hotfix时候 agent端Application/IIS与非 重启过的自动化正确处理方案,时候 通过了几轮针对性的测试。因为亲戚亲戚朋友在使用过程中遇到了问提请联系我lync:tianyou lan

Read-Host "Press any key to quit"

}

if($_.TimeWritten -gt $global:HotfixTime){

if($global:New -lt $global:Old){

process{

filter IISCK{

$global:IISLogs|IISCK

}

#不到俩个 w3wp系统应用应用程序时,获取到w3wp系统应用应用程序的starttime。

}else{

$global:NewOrOldProcess=$global:NewOrOldProcess+1

猜你喜欢

虚拟主机上云笔记(序言)

  那么怎么能会会会么会升呢?  当然可能性你是大公司资金充裕语句,里能 通过一次买两台服务器一台走国内一台走海外补救。可能性更大点直接在海外建立分中心补救。然而用云服务器

2020-01-27

你知道云栖大会6万人WIFI在线是如何炼成的吗?

阿里云代金券x52、你有没有设想过,为社 去解决你是什么 公共场合,WIFI压力无需 原困无法流畅使用?十五万人的会场,真没想过,用n多个wifi点解决?很简单。1。功率

2020-01-27

是不是没一段情侣都有一个阶段不再爱对方,分开后又重新再去爱,然后再好好在一起

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。追答扫描二维码下载追问可选中另一个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问提。

2020-01-27

爱情的四个阶段大约多长时间

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。第阶段:共存热恋期情论何何总希望能腻起稳定要花费我应该 点自间作自想做事另冷落下载百度知道APP,抢鲜

2020-01-27

javascript能干什么?

好守护进程员分享面向对象概念的理解以及ES3和ES6中类的写法大一学生不必说为定位着急全栈工程师到底有什么用jenkins+SonarQube6.2代码质量管理平台安装与使用L

2020-01-27