Чтобы остановить сервис, зависший в состоянии starting или stopping (в этом случае команды net start/stop не работают), делаем следующее:
1. Открываем командную строку:
Пуск -> Выполнить -> вводим cmd.exe и нажимаем Ввод.
2. Узнаем PID (Process ID) сервиса:
В cmd.exe выполняем следующий код:
sc queryex SERVICENAME
где SERVICENAME - имя зависшего процесса,
можно посмотреть в списке сервисов. Например для сервиса очереди печати
(Print spooler) имя процесса - spooler.
3. Убиваем процесс:
Выполняем в cmd.exe следующий код:
taskkill /PID PROCESS_PID_NNN /F
где PROCESS_PID_NNN - номер процесса для остановки.
upd. Для windows 2003 server встретилась ситуация, когда при установке обновлений индикатор прогресса останавливается насовсем, при этом в процессах присутствует WmiPrvSE.exe (кушает от 25 и выше % процессорного времени). В этом случае убивать сервис автоматического обновления не надо.
Необходимо удалить процесс WmiPrvSE.exe, и установка обновлений продолжится дальше.