如何在PowerShell中仅关闭服务(service.msc)应用进程?
仅关闭对应service.msc的MMC进程
以下是几种精准终止service.msc对应的MMC进程的方法,不会误杀其他MMC实例(比如组策略、事件查看器):
方法1:PowerShell原生筛选(推荐)
通过进程的命令行参数识别加载了service.msc的MMC实例,直接终止:
Get-CimInstance Win32_Process | Where-Object {$_.CommandLine -match 'service\.msc'} | ForEach-Object {Stop-Process -Id $_.ProcessId -Force}
更简洁的写法:
(Get-CimInstance Win32_Process -Filter "CommandLine LIKE '%service.msc%'").ProcessId | Stop-Process -Force
方法2:使用taskkill的命令行筛选
taskkill支持通过命令行内容筛选进程,用通配符匹配包含service.msc的实例:
taskkill /F /FI "COMMANDLINE eq *service.msc*" /T
原命令失效的原因
你之前用taskkill /F /FI "WindowTitle eq Services" /T无效,是因为MMC窗口的标题可能存在语言差异(比如中文系统下标题是服务),或者部分场景下会附加进程ID等额外标识,导致精确匹配失败。而通过命令行筛选能精准定位目标进程,避免这类问题。
内容的提问来源于stack exchange,提问作者MojoDK
相关产品推荐
相关产品推荐

