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