Mostra o status de um serviço do Windows a partir do prompt de comando

5

Existe algum comando do Windows que mostre o status de um único serviço?

Por exemplo, quero saber se o "serviço de administração do IIS" está em execução ou não. Se estiver executando o comando, a saída deve estar "em execução".

Eu tentei sc query type= service state= all | find "IIS Admin Service" que exibiu a saída:

"DISPLAY_NAME: IIS Admin Service"

Eu também tentei net start "IIS Admin Service" | find "Running" , que exibe:

The requested service has already been started.

More help is available by typing NET HELPMSG 2182.

Mas isso não me dá uma saída como

"service name" = running / disabled / stopped

Existe um comando que tenha saída nesse formato?

    
por vikas 08.02.2016 / 16:32

3 respostas

14

Use o nome do serviço e não o nome para exibição

sc query iisadmin

    
por 08.02.2016 / 16:45
9

Você pode usar o Powershell assim:

Get-Service -name 'IIS Admin Service'

    
por 08.02.2016 / 16:48
0

Se você estiver disposto a usar o excelente Cygwin bash, basta escrever:

sc query "Bonjour Service" |grep -qo RUNNING && echo "Bonjour is ok!" || echo "Apple Bonjour Service not running"

O truque aqui é ter um grep adequado disponível, de modo que você possa capturar o status verdadeiro / falso (sucesso) do comando. Aqui -q é para silencioso e -o é apenas para retornar a correspondência exata e provavelmente pode ser omitido. E sim, você precisa colocar seu "sc.exe" no seu PATH.

    
por 18.12.2017 / 08:57