Command line 如何让所有Windows服务名称以一个常用词开头?

Command line 如何让所有Windows服务名称以一个常用词开头?,command-line,windows-services,command,command-prompt,Command Line,Windows Services,Command,Command Prompt,有些托管的windows服务的显示名称以通用名称开头(此处为NATION)。例如: 民族城市 民族国家 民族村 是否有一些命令来获取所有服务,如“国家-”。最后,我需要使用命令promt停止、启动和重新启动此类服务。使用,您可以使用以下命令 Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Select name 这将显示displayname以“NATION-”开头的所有服务的列表 您也可以直接停止或启

有些托管的windows服务的显示名称以通用名称开头(此处为NATION)。例如:

  • 民族城市
  • 民族国家
  • 民族村
是否有一些命令来获取所有服务,如“国家-”。最后,我需要使用命令promt停止、启动和重新启动此类服务。

使用,您可以使用以下命令

Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Select name
这将显示displayname以“NATION-”开头的所有服务的列表

您也可以直接停止或启动服务

Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Stop-Service
Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Start-Service
或者干脆

Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Restart-Service
  • 使用
    /i
    进行不区分大小写的搜索
  • type=
    后面的空格是经过深思熟虑的,是必需的

将其保存为.ps1文件,然后执行


powershell-file“path\到您的\start-stop-nation-service命令文件.ps1”

感谢Wimmel的回复,但我搜索的不是shell脚本,而是创建一个简单的.cmd文件。一些命令,比如SC STOP SERVICE,启动时使用(“NATION-”[code]Get SERVICE-Name*NATION-*[/code]更简单更好!顺便说一句,find是区分大小写的,要做更好的搜索,请使用find/i“Nation”记住在type=和state=之后使用空格,我没有:(注意find将搜索服务名称并显示名称-只过滤服务名称:
sc queryex type=service state=all | find/i“service\u NAME:Nation”
;).
sc
可能是
设置内容的缩写。如果是这种情况,请使用
sc.exe
。来自Linux的Windows命令行环境没有任何意义,所以它都是魔术酱。Powershell安装在您的机器上了吗?服务器还是工作站?所以
sc queryex type= service state= all | find /i "NATION"