Exception handling 如何捕获WMI错误

Exception handling 如何捕获WMI错误,exception-handling,vbscript,wmi,Exception Handling,Vbscript,Wmi,我想使用wmi停止正在运行的服务。下面是vbscript中的代码 问题是,GetObject、startService和ExecuteQuery命令可能由于各种原因而出错。例如,在发出“stopService”命令后,服务的状态可能会变为“stopping”,而不是“stopped”,并且脚本会在那里挂起一段时间。有时会返回错误消息,如“RPC不可用”。vbscript中似乎没有内置的捕获异常机制。我在网上看到的大多数例子从未考虑过这种情况。有人知道有一种很好的方法可以捕获此类错误,并强制这些命

我想使用wmi停止正在运行的服务。下面是vbscript中的代码

问题是,GetObject、startService和ExecuteQuery命令可能由于各种原因而出错。例如,在发出“stopService”命令后,服务的状态可能会变为“stopping”,而不是“stopped”,并且脚本会在那里挂起一段时间。有时会返回错误消息,如“RPC不可用”。vbscript中似乎没有内置的捕获异常机制。我在网上看到的大多数例子从未考虑过这种情况。有人知道有一种很好的方法可以捕获此类错误,并强制这些命令(注意:不是服务本身)中止吗

 Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colServiceList = objWMIService.ExecQuery ("Select * from Win32_Service where Name = '" & strService & "'")

For Each objService in colServiceList

If objService.State = "Running" Then

strObjService.StopService
Wscript.Sleep 2000

myColServiceList = myObjWMIService.ExecQuery _
        ("Select * from Win32_Service where Name = '" & strService & "'")

    For each myObjService In myColServiceList
        objState = myObjService.State

    End If
End If

[/code]

您必须阅读Microsoft的这篇文章,在此链接中,您将找到有关使用WMI和VbScript处理错误的所有您必须知道的内容