如何用Python禁用Windows服务

0 投票
3 回答
5699 浏览
提问于 2025-04-18 17:52

我知道怎么用 win32serviceutil 来启动、停止和重启服务,但我想知道怎么才能禁用这些服务,或者把它们设置成手动启动?我可以使用任何和Python 3.4兼容的模块。

3 个回答

0

我觉得我们可以用WMIWindows管理工具)通过Python的'wmi'模块来禁用Windows服务。

import wmi
c = wmi.WMI()
windows_update_services_list = [
    "wuauserv",
    "TrustedInstaller"
]

for service_name in windows_update_services_list:
    service = c.Win32_Service(Name=service_name)[0]
    service.ChangeStartMode(StartMode="Disabled")

其他有用的链接:

PowerShell命令:

Set-Service -Name <service name> -StartupType Disabled
1

禁用(Disable)是Windows服务的一种启动类型。它和普通的Windows服务操作(比如启动、停止、重启等)是不同的。

你需要使用 --startup disabled 作为win32serviceutil的参数。这里

设置完启动类型后,你需要停止这个服务。之后,这个服务就会被禁用,除非你再次更改启动类型。

这里

如果这个回答是正确的,请确认一下。谢谢!

1

我最后使用了 os.system 和 Windows 的 Sc.exe 来实现这个功能。代码如下:

import os
os.system("sc config " + servicename + " start=disabled")

撰写回答