Le service Windows ne s'arrête pas dans Windows Server 2012 mais facilement sous Windows 7

0

J'ai un script ci-dessous qui est attaché à un service Windows sur la commande d'arrêt: -

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
        )
    )
)

ce qui fonctionne bien sous Windows 7 et le service s’arrête rapidement au bout de 1 à 2 secondes, mais dans le cas de Windows Server 2012, le service ne s’arrête pas et reste en état d’arrêt sauf si le processus associé est terminé.

L'erreur que je reçois dans les journaux est la suivante: - "Aucune instance disponible."

Quelqu'un peut-il m'aider à cet égard?

Sharda Prasad Jaiswal
la source
Qu'est-ce que service1 et service2 ici?
Sharda Prasad Jaiswal
get-service NameOfFirstService, NameOfSecondService | stop-service -forcerien que les noms des services
SimonS
L'arrêt du service utilise uniquement le code mentionné ci-dessus, donc aucun succès.
Sharda Prasad Jaiswal