如何捕捉WMI错误

我想使用WMI如果正在运行停止服务。 下面是在VBScript代码。

问题是,GetObject的,startService和命令的executeQuery可能会因为各种原因而产生错误。 例如,发出“stopService”命令后,服务的状态可能会成为“串门”,而不是“停止”,而脚本挂在那里很长一段时间。 有时,返回错误信息,如“RPC不可用”。 似乎还有内置的VBScript没有catch异常机理。 大部分时间我在网上看到了从来没有考虑例子这样的情况。 有谁知道有捕捉这类错误的好办法,并强制这些命令(注意:不是服务本身)中止?

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

[/码]

--------------解决方案-------------

你必须阅读这篇文章来自微软To Err Is VBScript在这个环节上,你会发现一切,你必须知道如何使用的WMI和VBScript处理错误。

分类:异常处理 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.027 (s). 10 q(s)