监控程序,发现失败重启服务(VBScript)
do
Set wsShell = CreateObject("Wscript.Shell")dim OK,flag
OK=False
flag=0
set bag=getobject("winmgmts:\\.\root\cimv2")
set pipe=bag.execquery("select * from win32_process where name = 'aa.exe'")
For Each id In pipe
OK = True
Next
If not OK Then
wsShell.Run "Directory/aa.exe",vbhide
'wsShell.Run "Cmd /c dir ",vbhide
'Wscript.Echo "Not OK"
flag=flag+1
else
'Wscript.Echo "OK"
flag=flag+1
end if
Wscript.sleep 600
loop until flag >0
寻找进程并关闭进程其所有进程
On Error Resume Next
'vbs代码开始----------------------------------------------
sub Close_Process(ProcessName)
On Error Resume Next
for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ '循环进程
if Ucase(ps.name)=Ucase(ProcessName) then
ps.terminate
end if
next
end sub
Close_Process("notepad.exe")
应用程序提权为服务,SYSTEM用户是window最高权限
使用srvany.exe将任何程序作为Windows服务运行
srvany.exe是什么?
srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。
如何获取?
你可以通过下载并安装Microsoft Windows Resource Kits
如何使用?
当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,比如说可以通过Microsoft Windows Resource Kits中另外一个实用的小工具instsrv.exe进行安装(下载地址 ),将srvany.exe和instsrv.exe拷贝到C:\Windows\System32\后,我们可以通过下面的命令行进行srvany.exe的服务安装:
instsrv ServiceName "C:\Windows\System32\srvany.exe"
ServiceName即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。
安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
同样的ServiceName是你刚才安装服务时自定义的服务名称。
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
比如这里是个配置实例,我们这里配置的服务名称是NGINX,其余是nginx的安装配置情况。
![srvany配置](http://wangye.org/blog/usr/uploads/2011/03/3296310608.png)
当然还有一个比较简单的做法,那就是将下面的文本保存为*.reg文件,然后双击导入注册表。
1 2 3 4 5 6 | Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名称\Parameters] "Application"="值为你要作为服务运行的程序地址" "AppDirectory"="值为你要作为服务运行的程序所在文件夹路径" "AppParameters"="值为你要作为服务运行的程序启动所需要的参数" |