用asp/vbs脚本回收iis应用程序池

作者在 2016-09-14 10:07:32 发布以下内容
应用程序池在使用一段时间后需要回收,想用程序来控制,就用vbs实现了以下代码,在asp上一样运行

set apppools = GetObject("IIS://LocalHost/W3SVC/AppPools")
for each apppool in apppools
msgbox apppool.name
apppool.recycle
next

上面的程序在安装有iis的服务器上面运行,即可弹出所有的应用程序池,想回收指定的应用程序池,只需要判断相应的apppool.name即可。

后面是在网上(suntw.com)找到的相关操作iis的vbs脚本。
'设置应用程序池的属性
function SetAppPoolSetting(AppPoolName,Values)
    SetAppPoolSetting=false
    Set apps=GetObject("IIS://localhost/w3svc/AppPools/"&AppPoolName)
    SetValue=split(Values,"|")
    apps.CpuLimit=int(SetValue(1))*1000'最大CPU百分比
    apps.CPUAction=SetValue(2)'超过处理方式0忽略1关闭
    apps.PeriodicRestartMemory=int(SetValue(3))*1024'虚拟内存
    apps.PeriodicRestartPrivateMemory=int(SetValue(4))*1024'物理内存
    apps.PeriodicRestartTime=SetValue(5)'回收时间
    apps.SetInfo
    set apps=nothing
    SetAppPoolSetting=true
end function
 
'创建一个池并设置属性
'================================================================
function CreateAppPool(NewAppPoolName)
    Set AppPools = GetObject("IIS://localhost/W3SVC/AppPools")
    set NewPool = AppPools.Create("IIsApplicationPool", NewAppPoolName)
    NewPool.AppPoolIdentityType = 2'预定义账户0本地系统1本地服务2网络服务
    NewPool.PeriodicRestartMemory = 512 * 1000 '最大虚拟内存使用值
    NewPool.PeriodicRestartPrivateMemory = 500 * 1000 '500物理内存限制'
    NewPool.CPUAction = 0'超过CPU不操作,1就是超过cpu就关闭。
    NewPool.CPULimit = "80000"'最大80%的CPU
    NewPool.PeriodicRestartTime = 180'内存回收时间(分钟)
    NewPool.CPUResetInterval = 2'刷新CPU使用率值(分钟)
    NewPool.AppPoolAutoStart = true'自动启动此池
    NewPool.SetInfo
    Set AppPools = nothing
    set NewPool = nothing
    if err.number=0 then CreateAppPool=true
end function
默认分类 | 阅读 3898 次
文章评论,共0条
游客请输入验证码
浏览138884次
文章分类