Use o nome do serviço e não o nome para exibição
sc query iisadmin
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?
Use o nome do serviço e não o nome para exibição
sc query iisadmin
Você pode usar o Powershell assim:
Get-Service -name 'IIS Admin Service'
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.
Tags windows-service