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

War*_*n P 9 search windows-7 service full-text-search

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

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

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

我能做的最好的事情是从命令行输入“NET SERVICES”,也许会在其中添加一个 grep,但这并没有列出所有服务,只列出了其中的几个。

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

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

Wes*_*ley 6

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

在命令行中,sc可以进行一些服务操作,您可以将其与输出到文本文件或使用find. 不过说真的,你应该使用PowerShell的这些天,以便Get-Service(以及Start-ServiceRestart ServiceSet-Service,等)使用PowerShell的无数提供格式化和解析工具是你最好的选择相结合。

这是 PowerShell 中的一个示例:

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

它过滤名称和显示名称并忽略禁用的服务。

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

 param(
 [string]$term
 )

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