如何在 Windows 7 中的 Services.msc (mmc) 窗口中进行关键字搜索?

如何在 Windows 7 中的 Services.msc (mmc) 窗口中进行关键字搜索?

据我所知,在所有当前的 Windows 版本中,当您想要运行一项服务时,您的能力都非常有限。

我通常通过在“开始”->“运行”框中键入“services.msc”来启动服务,在大多数版本的 Windows 上,这都是可行的。我知道如何单击 Windows 服务的 MMC 视图中的“名称”列。如果您知道服务名称的前几个字符是什么,通常可以按名称排序,然后键入前缀以向下滚动列表(例如,查找 Windows 搜索)。

我觉得这个功能很弱,所以我花了一些时间在互联网上搜索可以更好地管理服务的工具。通常我会有一个我知道“fooWare”可能是关键字的关键字,我需要找到(通常名字不好的)服务并启动和停止它。这通常太难了。

我能做的最好的就是从命令行输入“NET SERVICES”,然后可能在其中添加一个 grep,但这并不能列出所有服务,只能列出其中的几个。

而且 Win7 中的 MMC 管理单元现在有一个导出列表按钮,导出到 csv 文本文件功能,我时常使用它来导出然后搜索。我想过编写自己的工具。我希望有一个更好的“服务管理器”实用程序供系统管理员使用。我希望右上角有一个搜索框,就像 Win7 和 Vista 中的“添加-删除-程序”对话框中的搜索功能一样。

是否存在这样的服务实用程序?

答案1

sc.exe在命令提示符或*-servicePowerShell 工具集上。

在命令行上,sc可以进行一些服务调试,您可以将其与输出到文本文件或乱搞结合起来find。但实际上,您现在应该使用 PowerShell,因此(Get-Service以及Start-Service、、等)结合 PowerShell 提供的大量格式化和解析工具是您最好的选择。Restart ServiceSet-Service

以下是 PowerShell 中的一个示例:

$t = '*mana*';Get-Service | Where {($_.Name -like "$t" -or $_.DisplayName -like "$t") -and $_.StartType -ne "Disabled"}

它根据名称和显示名称进行过滤并忽略已禁用的服务。

Find-Service.ps1您可以将其放入具有单个参数的脚本中。

 param(
 [string]$term
 )

 $term = "*" + $term + "*"
 Get-Service | Where-Object {($_.Name -like "$term" -or $_.DisplayName -like "$term") -and $_.StartType -ne "Disabled"}

答案2

xnet.exe 可从几个位置获取(例如http://www.netware.se/en/downloads/) 可以列出所有正在运行的服务 - 然后您可以使用其他内容来搜索输出。Handlily xnet 还会报告服务的简称,可用于管理它。

答案3

HKLM\System\CurrentControlSet\Services 可以给你一个很多您可能需要的信息。请谨慎行事。

答案4

我也有同样的疑问 :-(

即使在 Windows 10 中,Windows 服务的 MMC 视图中仍然没有搜索功能。

无论如何,我在以下链接中找到了此实用程序 Serviwin:

http://www.nirsoft.net/utils/serviwin.html

它显示有关服务的所有信息,并且还具有搜索功能。我希望这会有所帮助,也希望 Microsoft 在 Windows 服务的 MMC 视图中实现搜索框。

我还发现了这个实用程序 ServiceBouncer,它确实非常好。

https://github.com/PaulStovell/ServiceBouncer

相关内容