首页 > 系统相关 >使用vbs脚本来监控windows服务器上的应用程序(不存在就启动)

使用vbs脚本来监控windows服务器上的应用程序(不存在就启动)

时间:2024-04-16 17:47:46浏览次数:34  
标签:exe windows wscript flag 应用程序 vbs wmi set 进程

                        <p>这个vbs代码主要实现的功能就是运行该程序,就会在进程中出现一个wscript.exe 它会每隔10s扫面一次进程中是否存在notepad.exe这个程序,不存在就启动。这个启动程序可能跟进程名不一样,好比tomcat应用,启动的是startup.bat,后台进程名为java.exe,这样就需要调整代码proname=&quot;java.exe&quot;</p>

关于如果关掉监控 可以在运行下执行taskkill /f /im wscript.exe 或者在任务管理器 进程中找到wscript.exe 结束进程就可以了

调整WshShell.Run("startup.bat")

核心代码

dim wmi,proc,procs,proname,flag,WshShell
Do
proname="notepadjb51.exe" '需要监测的服务进程的名称,自行替换这里的记事本进程名
set wmi=getobject("winmgmts:{impersonationlevel=impersonate}!\.rootcimv2")
set procs=wmi.execquery("select * from win32_process")
flag=true
for each proc in procs
if strcomp(proc.name,proname)=0 then
flag=false
exit for
end if
next
set wmi=nothing
if flag then
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepadjb51.exe")
end if
wscript.sleep 10000 '检测间隔时

VBS写个小脚本 实时监测指定程序是否运行 对运行的软件进行操作 最后关闭运行软件

strComputer = "."
Set objShell = CreateObject("Wscript.Shell") 
do
Set wbemServices = Getobject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_process")
For Each wbemObject In wbemObjectSet
if wbemObject.name="QQ.exe" then
  WScript.Sleep 1000
  objShell.SendKeys "{F12}"
  WScript.Sleep 1000
  objShell.SendKeys "{ENTER}"
  dim WSHshell 
  set WSHshell = wscript.createobject("wscript.shell") 
  WSHshell.run "taskkill /im wscript.exe /f ",0 ,true 
end if
Next
loop

批处理检测进程是否存在;这个我用来检测文化进程是否存在,因为是绿色版的,很容易被关闭,所以需要检测。

tasklist /nh|find /i "ClientOfWatcher.exe"
if ERRORLEVEL 1 (start C:\watcher\ClientOfWatcher.exe) else (exit)

VBS定时检测进程是否存在,如果不存在就启动进程。

option Explicit    
dim wmi,proc,procs,proname,flag,WshShell    
Do  
    proname="ClientOfWatcher.exe" '需要监测的服务进程的名称,自行替换这里的记事本进程名    
set wmi=getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")    
set procs=wmi.execquery("select * from win32_process")    
  flag=true    
for each proc in procs    
    if strcomp(proc.name,proname)=0 then    
      flag=false    
      exit for    
    end if    
next    
  set wmi=nothing    
  if flag then    
    Set WshShell = Wscript.CreateObject("Wscript.Shell")    
    WshShell.Run ("C:\Watcher\ClientOfWatcher.exe")    
end if    
  wscript.sleep 50000 '检测间隔时间,这里是50秒    
loop

关于vbs系统运行后,系统进程中产生大量wscript.exe

taskkill /IM wscript.exe /F
taskkill /IM cscript.exe /F
taskkill /IM consent.exe /F
taskkill /IM ChsIME.exe /F

所有建议服务器上运行vbs后,如果出现大量wscript.exe进程,可以加上下面的命令

dim WSHshell 
set WSHshell = wscript.createobject("wscript.shell") 
WSHshell.run "taskkill /im wscript.exe /f ",0 ,true

到此这篇关于使用vbs脚本来监控windows服务器上的应用程序(不存在就启动)的文章就介绍到这了,更多相关vbs守卫进程内容请搜索创业项目排行榜前十名http://www.piaodoo.com/以前的文章或继续浏览下面的相关文章希望大家以后多多支持创业项目排行榜前十名http://www.piaodoo.com/!

                        友情连接: 

创业项目排行榜前十名

美文集

茂名一技

茂名一技

手游排行前十名

标签:exe,windows,wscript,flag,应用程序,vbs,wmi,set,进程
From: https://www.cnblogs.com/python1314520/p/18138797

相关文章

  • windows使用/服务(15)windows Server【开机启动和任务计划程序】实现服务器重启后项目自
    版权声明:本文为博客园博主「yclizq」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:windowsServer【开机启动和任务计划程序】实现服务器重启后项目自启动1.说明有些时候我们希望计算机开机后就启动一些服务或应用程序。2.开机启动使用Win+R......
  • windows远程桌面快速切换回本地桌面方法
    因为工作经常要用到远程主机,所以经常要切换来切换去,碍于比较难多申请一个屏幕专门用作远程桌面,所以想通过快捷键的方式进行快速切换,但是远程桌面全屏下面本机的快捷键和远程桌面的快捷键没办法很好的兼容,以下是探索的几种实现方式快捷键方式远程桌面全屏下面,使用ctrl+alt+......
  • windows平台vs2019编译Luabind小记
    前言写这篇文章的目的是Luabind这个库比较老旧,对于新编译器需要做一些代码上的兼容,参考资料又都有点过时,所以特写此篇,记录踩坑过程;参考资料用VS2010编译luabind如何编译luabind支持vs2010之后所有版本Lua官网LuabindRepo编译前准备准备相关前置组件基本编译依赖Des......
  • C#控制windows的“拖动时显示窗体内容”系统设置
    公司的云桌面,影响到了原生系统的“拖动时显示窗体内容”,做了个处理程序。感谢AI,现在查资料快速了许多。虽然的确有乱说的成分,但是庆幸的是大体思路没问题。usingSystem.Runtime.InteropServices;//检查当前设置booldragFullWindows=MsHelper.GetDragFullWindows();Cons......
  • 一个.NET开源的功能丰富、灵活易用的 Windows 窗口增强神器
    思维导航前言工具介绍支持系统工具源代码工具下载并安装部分功能截图项目源码地址优秀项目和框架精选DotNetGuide技术社区交流群前言通常情况下Windows中的软件窗口界面一般只包含还原、移动、大小、最大化、最小化、关闭等几个基本的操作: 今天大姚给大家推......
  • 搭建 Windows GPU 服务器需要考虑多个方面,包括硬件选择、操作系统安装、驱动程序安装
    搭建WindowsGPU服务器需要考虑多个方面,包括硬件选择、操作系统安装、驱动程序安装、软件配置等。以下是一个简单的指南,介绍了搭建WindowsGPU服务器的基本步骤:1.硬件选择选择适合您需求的硬件配置,包括GPU、CPU、内存和存储。GPU是关键的组件,应根据您的应用需求选择......
  • 一个.NET开源的功能丰富、灵活易用的 Windows 窗口增强神器
    前言通常情况下Windows中的软件窗口界面一般只包含还原、移动、大小、最大化、最小化、关闭等几个基本的操作: 今天大姚给大家推荐一个.NET开源、免费(MITLicense)、功能丰富、灵活易用、小巧(不到1M)的Windows窗口增强工具:SmartSystemMenu。工具介绍SmartSystemMenu扩展了......
  • NTLM(NT LAN Manager)是一种Windows操作系统中使用的身份验证协议,用于验证用户的身份以
     NTLM(NTLANManager)是一种Microsoft开发的身份验证协议,用于在Windows网络环境中进行用户身份验证和访问控制。它起源于Microsoft的早期操作系统,最初是作为WindowsNT的一部分而引入的。NTLM的发展可以追溯到1990年代初,当时Microsoft开始研发WindowsNT操......
  • WIN11彻底关闭windows更新全流程
    一、在服务中禁用windows更新找到该项目右键-属性“常规”界面-启动类型选择禁用“恢复”界面-第一次失败无操作第二次失败无操作后续失败无操作二、禁止其自动恢复启动1、右键鼠标打开windows面板,找到“计算机管理功能”并单机鼠标左键打开2、依次打开计算机管理(本地......
  • Windows网络桥接:事件无法调用任何订户 (异常来自 HRESULT:0x80040201)异常处理
    开发Windows网络桥接使用接口Com组件:Interop.NETCONLib。设置成X64位时调用EnableSharing。出现一下异常System.Runtime.InteropServices.COMException(0x80040201):事件无法调用任何订户(异常来自HRESULT:0x80040201)在NETCONLib.INetSharingConfiguration.EnableSharin......