我们有一个在不同机器上运行不同名称的服务,例如
Bomgar-scadsadccd,Bomgarsdscchfn,Bomgarscnkfkdk
所以,在这里,我们需要编写一个VB脚本,找到部分名称为“Bomgar”的服务 并检查它的状态如
1)不存在,则应从“start \ 10.216.16.245 \ Bomgar.exe”等共享文件夹安装 2)已安装但未运行,然后启动该服务。 3)安装并运行然后退出。
我们如何实现这一目标?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service where Name='bomgar*'")
nItems = colRunningServices.Count
If nItems > 0 Then
For Each objItem in colRunningServices
If objItem.State = "Stopped" Then
objItem.startservice
ElseIf objItem.State = "Running" Then
exit
End If
Next
Else
start \\10.18.23.245\Shared\Bomgar.exe
End If
答案 0 :(得分:1)
您可以在WQL语句中使用like
关键字和%
通配符来查找包含特定文本的任何服务。例如:
Set colRunningServices = objWMIService.ExecQuery("Select * from Win32_Service where Name like '%bomgar%'")
而不是start
,您需要使用Run
对象的WshShell
命令来启动您的EXE:
With CreateObject("WScript.Shell")
.Run "\\10.18.23.245\Shared\Bomgar.exe"
End With