Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao reiniciar o serviço - Aula 01

Olá,

Quando tento rodar o exemplo da primeira aula, de parar e reinicar o serviço AudioSRV, o codigo apresenta um erro na reinicialização:

Exceção ao chamar "Start" com "0" argumento(s): "Não é possível iniciar o serviço AudioSRV no computador '.'."
No linha:4 caractere:1
+ $servico.Start()
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : InvalidOperationException

Aparentemnte o comando "Stop" está cedendo o controle antes de finalizar o serviço. Pois quando rodei o código abaixo a rotina funcionou:

$servico = Get-Service AudioSRV
if ($servico.status -eq "Running") {
$servico.Stop()
Do {
$servico = Get-Service Audiosrv    #precisa chamar novamente para atualizar o status
} until($servico.status -eq "Stopped")

$servico.Start()
} else {
echo "Serviço não estava executando!"
}

Por gentileza gostaria de saber se existe alguma forma mais elegante de esperar pela atualização do status do serviço. Obrigado!

1 resposta
solução!

Olá, Gabriel. Como vai?

Neste caso, é mais elegante utilizar o cmdlet Stop-Service e Start-Service, eles só devolvem o controle quando o serviço parar/iniciar. Você poderia testar?

Stop-Service AudioSRV
Start-Service AudioSRV

Bons estudos.