Windows-7

如何在 Windows 7 中對 Services.msc (mmc) 視窗進行關鍵字搜尋?

  • March 5, 2021

據我所知,當你想執行一項服務時,你的能力非常有限,在所有目前的 Windows 版本中。

我通常通過在“開始”->“執行”框中鍵入“services.msc”來啟動服務,在大多數 Windows 版本上,這是可行的。我知道如何點擊 Windows 服務的 MMC 視圖中的“名稱”列。如果您知道服務名稱的前幾個字元是什麼,通常可以按名稱排序,然後鍵入前綴以向下滾動列表(例如,查找 Windows 搜尋)。

這對我來說似乎很弱,所以我花了一些時間在網際網路上搜尋能夠更好地管理服務的工具。通常我有一個我知道“fooWare”可能是關鍵字的關鍵字,我需要找到(通常命名錯誤的)服務並啟動它並停止它。這通常太難了。

我能做的最好的事情是從命令行“NET SERVICES”,並可能在其中添加一個 grep,但這並沒有列出所有服務,只列出其中的幾個。

Win7中的MMC管理單元現在有一個導出列表按鈕,導出到我不時使用的csv文本文件功能,導出然後搜尋。我曾想過編寫自己的工具。我希望系統管理員可以使用更好的“服務管理器”實用程序。我想在右上角有一個搜尋框,就像 Win7 和 Vista 中的“添加-刪除-程序”對話框有一個搜尋工具一樣。

這樣的服務實用程序是否存在?

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

在命令行,sc可以做一些服務 frobbing,你可以將它與輸出到文本文件或弄亂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"}

它過濾名稱和顯示名稱並忽略禁用的服務。

您可以將其放入Find-Service.ps1帶有單個參數的腳本中。

param(
[string]$term
)

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

引用自:https://serverfault.com/questions/131112