fuinei 发表于 2013-4-25 12:46:58

关于使用WMI函数查询Win 2008 R2服务状态的问题

各位好,之前一直使用WMI函数查询目标计算机(Windows XP)服务的状态,但发现原有函数在Windows 2008 R2中无法使用,请问如何修改可以实现呢?MsgBox("","",_wmi_getserviceStarted(".","Print Spooler"))

Func _wmi_getserviceStarted($ip,$Caption)
      Local $objWMIService = ObjGet("winmgmts:\\" & $ip& "\root\CIMV2")
      $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Service", "WQL",48)
      For $objItem In $colItems
                        If $objItem.Caption =$CaptionThen Return $objItem.Started;表示服务是启动(true)还是停止(false)
      Next
EndFunc

鸟人 发表于 2013-4-25 14:14:07

传送门

fuinei 发表于 2013-4-26 09:30:12

回复 2# 鸟人

谢谢指导,测试了一下API部分好像只能检测本机的服务状态,而WMI不适用于64位的2008

fuinei 发表于 2013-4-27 15:43:07

本帖最后由 fuinei 于 2013-6-8 13:34 编辑

请问能否使用WMI方式查询windows 2008 R2系统服务状态呢?
页: [1]
查看完整版本: 关于使用WMI函数查询Win 2008 R2服务状态的问题