如何使用vbscript检查服务状态?

Anh*_*yen 5 vbscript service wmi status wmi-query

无论如何使用vbscript检查服务的状态?我想为每个可能的服务状态提供一个功能: LINK 任何帮助都会很棒.我写了一个函数来检查服务是否停止:

Public Function IsServiceStop(ByVal serviceName)
    On Error Resume Next
    Dim objServices, service
    Set oWmiService = GetObject("winmgmts:\\.\root\cimv2")
    Set objServices = oWmiService.ExecQuery("Select * from Win32_Service where Name='" & serviceName & "'")
    For Each service In objServices
        IsServiceStop = (service.Started = False)
        Exit Function
    Next
    IsServiceStop = True
    On Error Goto 0
End Function
Run Code Online (Sandbox Code Playgroud)

Ans*_*ers 5

如有疑问,请阅读文档。您需要做的就是检查State服务对象的属性:

serviceName = "..."

Set wmi = GetObject("winmgmts://./root/cimv2")
state = wmi.Get("Win32_Service.Name='" & serviceName & "'").State
WScript.Echo state
Run Code Online (Sandbox Code Playgroud)