找回密码
 加入
搜索
查看: 4395|回复: 7

[系统综合] [已解决]检测远程计算机服务状态和重启远程计算机服务问题

  [复制链接]
发表于 2012-6-2 01:06:04 | 显示全部楼层 |阅读模式
本帖最后由 fuinei 于 2012-6-8 07:53 编辑

各位好,请问使用AU3能否实现以下2个功能呢?
1、检测远程计算机(如Print Spooler)服务是否处于启动状态
2、重启远程计算机指定的服务(如Print Spooler)
发表于 2012-6-2 10:49:43 | 显示全部楼层
回复 1# fuinei


    用WMI研究一下呗,我有例子的,非常简单
 楼主| 发表于 2012-6-3 15:32:15 | 显示全部楼层
回复 2# 502762378

谢谢502762378兄的指导,参考你的贴子通过WMI可实现远程计算机指定服务的启动和停止,目前有以下2个问题:
1、WMI能否查询远程计算机指定服务的当前状态(启动/停止),如服务处于停止状态再执行停止服务的操作将会等待很长的时间
2、对于重启服务目前采取停止后启动的方式,WMI中有Restart服务的功能吗
发表于 2012-6-4 09:13:48 | 显示全部楼层
回复 2# 502762378


    请问wmi能实现启动指定应用程序么?谢谢
 楼主| 发表于 2012-6-5 18:14:04 | 显示全部楼层
希望502762378兄能指导一下通过WMI如何判断服务的当前状态,谢谢!
发表于 2012-6-5 20:15:27 | 显示全部楼层
回复 5# fuinei


    实话说我的帖子注释非常详细,哎满足一下你吧,至于你说的Restart服务真没有发现,再说正常情况下操作服务系统也没有给出Restart功能
$servername = "Print Spooler"
MsgBox(1,"本机"&$servername&"服务当前的状态为:",_wmi_getserviceStarted(".",$servername))
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 =$Caption  Then Return $objItem.Started;表示服务是启动(true)还是停止(false)
        Next
EndFunc
 楼主| 发表于 2012-6-8 07:52:50 | 显示全部楼层
回复 6# 502762378

5202762378兄说得对,windows本身的Net命令也没有restart的参数。这段代码在你原来的贴子也是有的,我当没有注意到,谢谢502762378兄的指导!
发表于 2016-12-13 00:41:43 | 显示全部楼层
看看是不是PINf
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 04:32 , Processed in 0.077349 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表