O serviço do Windows não pára no Windows Server 2012, mas facilmente no Windows 7

0

Eu tenho um script abaixo que é anexado a um serviço windows no comando stop: -

wmic service where name='%NS_SERVICE_NAME%' get ProcessId | more +1 > tmp.txt
set /p NS_PID=<tmp.txt
del tmp.txt
for /f %%i in ('wmic process where "(ParentProcessId=%NS_PID%)" get ProcessId ^| more +1') do (
    for /f %%a in ('wmic process where "(ParentProcessId=%%i)" get ProcessId ^| more +1') do (
        echo %%a|findstr "^[-][1-9][0-9]*$ ^[1-9][0-9]*$ ^0$">nul && TASKKILL /F /PID %%a || rem
        IF %ERRORLEVEL% NEQ 0 do (
           exit
        )
    )
)

que funciona bem no Windows 7 e o serviço pára rapidamente em 1 a 2 segundos, mas no caso do Windows Server 2012 o serviço não para e permanece em estado de parada a menos que o processo relacionado a ele seja encerrado.

O erro que recebo nos logs é o seguinte: "Nenhuma instância disponível."

Alguém pode me ajudar nesse sentido?

    
por Sharda Prasad Jaiswal 14.09.2016 / 07:55

0 respostas