分享主题:linux,nginx,php,mysql

wmic service管理服务,windows cmd获取服务信息,wmic service启动停止重启服务

互联网+ 现在加入小程序俱乐部QQ群:483987340

我们在前面的文章中说过,
使用net start可以查看电脑正在运行的服务,
但是net start只能列出服务名称,
而不能再进一步操作,
比如停止服务等。

今天讲一下wmic service这个功能更加强大的服务管理命令,
使用wmic service可以精确查找你要的服务,
并且能够启动,停止,重启电脑服务。

通常wmic service在拥有管理员权限的cmd中使用,
下面的操作都是在windows的cmd命令中执行,

一、 获取所有服务

wmic service

你在cmd中输入wmic service能够把你电脑上的所有服务信息列出来,
但是显示排版有些乱,
你可以使用下面的命令,

二、 显示服务的简要信息

C:\>wmic service list brief
ExitCode  Name                                                    ProcessId  StartMode  State    Status
1077      AJRouter                                                0          Manual     Stopped  OK
0         ALG                                                     12040      Manual     Running  OK
1077      AppIDSvc                                                0          Manual     Stopped  OK
0         Appinfo                                                 6088       Manual     Running  OK
1077      AppMgmt                                                 0          Manual     Stopped  OK
0         AppReadiness                                            0          Manual     Stopped  OK

可以看到wmic service显示的内容很多,
你可以使用下面的命令分屏显示

C:\>wmic service list brief | more
ExitCode  Name                                                    ProcessId  StartMode  State    Status
1077      AJRouter                                                0          Manual     Stopped  OK
0         ALG                                                     12040      Manual     Running  OK
1077      AppIDSvc                                                0          Manual     Stopped  OK
0         Appinfo                                                 6088       Manual     Running  OK
1077      AppMgmt                                                 0          Manual     Stopped  OK
0         AppReadiness                                            0          Manual     Stopped  OK
0         AppXSvc                                                 14296      Manual     Running  OK
1077      aspnet_state                                            0          Manual     Stopped  OK
0         AudioEndpointBuilder                                    2416       Auto       Running  OK
0         Audiosrv                                                2568       Auto       Running  OK
1077      AxInstSV                                                0          Manual     Stopped  OK
1077      BDESVC                                                  0          Manual     Stopped  OK
0         BFE                                                     1432       Auto       Running  OK
0         BITS                                                    0          Manual     Stopped  OK
0         BrokerInfrastructure                                    316        Auto       Running  OK

简要信息包括服务的下面信息:
名称
进程ID
状态
启动模式
退出码

你也可以使用wmic service list config,
查看服务的下面信息DesktopInteract, ErrorControl, Name, PathName, ServiceType, StartMode

C:\>wmic service list config | more
DesktopInteract  ErrorControl  Name                                                    PathName                                                                                                         ServiceType    StartMode
FALSE            Normal        AJRouter                                                C:\WINDOWS\system32\svchost.exe -k LocalServiceNetworkRestricted -p                                              Share Process  Manual
FALSE            Normal        ALG                                                     C:\WINDOWS\System32\alg.exe                                           

三、 wmic模糊、精确查找显示服务

我们还可以使用 WQL 来查找你想要的服务,
WQL是一种类似SQL的语句,
例如

C:\>wmic service where "caption like '%update%'" get name, caption, processid, state, status, startmode
Caption                       Name          ProcessId  StartMode  State    Status
Update Orchestrator Service   UsoSvc        924        Auto       Running  OK
Windows Update Medic Service  WaaSMedicSvc  0          Manual     Stopped  OK
Windows Update                wuauserv      0          Manual     Stopped  OK

where “caption like ‘%update%'” 表示使用 like 模糊查询标题中包含 update 的服务,
get name, caption, processid, state, status, startmode 表示要显示的属性,类似sql中的字段

如果要精确查找,
可以在 where 中使用 =

C:\>wmic service where "caption = 'Windows Update'" get name, caption, processid, state, status, startmode
Caption         Name      ProcessId  StartMode  State    Status
Windows Update  wuauserv  0          Manual     Stopped  OK

四、 wmic service停止服务,开启

当我们使用WQL从wmic service中获取到我们想要的服务后,
就可以对服务进行相关操作,
比如停止服务,
开启服务,
暂停服务,
恢复服务,
设置服务启动模式等。

下面简单的举个例子,

使用wmic service停止服务

C:\>wmic service where "caption = 'Windows Update'" call stopService
执行(\\QINZIHENG\ROOT\CIMV2:Win32_Service.Name="wuauserv")->stopService()
方法执行成功。
外参数:
instance of __PARAMETERS
{
        ReturnValue = 0;
};

如果你返回的结果是
方法执行成功。
外参数:
instance of __PARAMETERS
{
ReturnValue = 2;
}
表示你的权限不够,
需要你使用管理员的权限来执行上面的命令,

如果你返回的结果是
方法执行成功。
外参数:
instance of __PARAMETERS
{
ReturnValue = 5;
}
表示该服务已经停止,没有运行。

cmd中使用wmic service开启服务

C:\>wmic service where "caption = 'Windows Update'" call startService
执行(\\QINZIHENG\ROOT\CIMV2:Win32_Service.Name="wuauserv")->startService()
方法执行成功。
外参数:
instance of __PARAMETERS
{
        ReturnValue = 0;
};

wmic service重启服务就是把上面两条命令都执行一次。

wmic Service停止,启动服务

五、 wmic高级用法批量关闭windows自动升级

我们在公司使用电脑办公,
由于某些原因,
是要把windows的自动升级关闭了,
如果只有十几台电脑,
也许你可以在每台电脑上手工禁止windows升级,
但是如果你所在的公司很大,
有几百台甚至几千台,
这个重复操作是就有些消耗时间。

下面讲一讲active directory域中批量禁止winxp, win7, win10升级的方法
把下面停止windows update服务的命令,
写成一个bat脚本,
wmic service where “caption = ‘Windows Update'” call stopService
然后在windows域的组策略里,
新增一个组策略,
内容是开机启动运行上面的脚本,
然后把组策略应用到你的域就可以了,
由于这个比较也简单,
限于篇幅原因,
我们就不做操作演示了。

猛击这里
观看子恒老师《微信小程序开发》系列视频
了解实现过程和下载相关源代码

声明:本文仅供交流学习 , 版权归属原作者,部分文章未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:58842997,我们会及时删除。
秦子恒公众号

来源:秦子恒博客,欢迎转载分享,请保留出处

wmic service管理服务,windows cmd获取服务信息,wmic service启动停止重启服务链接:https://www.qinziheng.com/hulianwangjia/9265.htm

现在就加入微信开发QQ群2:483987340,跟同行探讨微信公众平台开发。群满就关闭,你得等到下一个群开通才能加入……

喜欢 (0)