VBScript:关闭进程与模拟键盘输入

         场景:

           根据部门的定期维护任务要求:在每月的XX日凌晨XX点重启指定的服务器(W2K3),在该服务器上运行着一套极为重要的应用程序。手动的重启方式 为先关闭该应用程序的监视程序(当应用程序崩溃时会自动再次重启该服务),然后再关闭应用程序,在关闭应用程序之前需要输入管理密码才可以完全关闭。

        这次分享的脚本就是用来完成类似于以上定期维护任务的,通过脚本可以了解到如何关闭进程和VBS模拟键盘输入。

 
 
  1.  
  2. strComputer = "." 
  3. strApp="'WatchDog.exe'" 
  4.  
  5. Set WshShell = CreateObject("WScript.Shell")  
  6. Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2")  
  7.  
  8. Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process where Name=" & strApp)  
  9. For Each objProcess In colProcessList  
  10.     Set list = GetObject("winmgmts:").execquery("Select * from Win32_Process where Name=" & strApp)  
  11.    
  12.     if list.count > 0 then                             '如果strApp的进程存在  
  13.         wscript.echo "Killing " & strApp             
  14.         objProcess.Terminate()                      '关闭进程  
  15.     end if  
  16. Next 
  17.  
  18.  
  19. strProcessKill = "'ProcessName.exe'"   
  20. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")   
  21. Set colProcess    = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = " & strProcessKill )  
  22.  
  23.  
  24. if colProcess.Count > 0 then  
  25.     For each objProcess in colProcess  
  26.         'wscript.echo objProcess.ProcessID              '显示PID  
  27.         WshShell.AppActivate objProcess.ProcessID       '应用程序置顶  
  28.         WScript.Sleep 3000                              '等待3秒  
  29.         WshShell.SendKeys "^x"                          '关闭应用程序  
  30.         WScript.Sleep 2000                              '等待2秒  
  31.         WshShell.SendKeys "88888"                       '输入密码  
  32.         WshShell.SendKeys "{ENTER}"                     '输入回车  
  33.         WshShell.SendKeys "{ENTER}"            
  34.     Next 
  35. End If 

如果想在关闭应用程序后使用VBS来关闭操作系统,在VBS的尾部增加以下代码即可。

 
 
  1. Wscript.Run("shutdown -s -f -t 60"

       服务器重启之后,您一定特别希望确认各项服务器是否都正常运行,假如有脚本可以自动检查这些服务是正常,并发送一封电子邮件告诉你,该多好啊?周末再与大家分享。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值