![]() |
Перезапуск служб с помощью батника
Всем привет,
Возникла такая проблема, нужно организовать ускоренный перезапуск нескольких служб. Такой вариант работает из коммандной строки: net stop [служба] && net start [служба], но из батника не хочет. Окно просто появляется и тут же исчезает. Как это можно записать в батник, чтобы всё работало? |
Цитата:
Название службы, версия ОС? |
Цитата:
|
goodguy, речь идёт именно о «TermService» и «Spooler»?
|
Да. Именно о них :)
Но вместе с TermService должна перезапускаться еще и служба перенаправления портов |
goodguy, на Windows XP я наблюдаю такую картину:
Код:
wmic.exe Service where "Name = 'Spooler' OR Name = 'TermService'" get Name, Caption, AcceptStop /value Цитата:
Цитата:
|
Цитата:
Код:
Microsoft Windows [Version 6.1.7600] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. Цитата:
|
Тогда пробуйте запустить из командной строки пакетный файл, который Вы и предлагали:
Код:
net.exe stop Spooler && net.exe start Spooler 1) на Server 2008 R2 у меня также для «TermService» — «AcceptStop=TRUE»; 2) как заработает — обратите внимание, на зависимые от «TermService» службы («FastUserSwitchingCompatibility» — на XP и, возможно, «UmRdpService» — на Windows 7 [последнее под вопросом, ибо я-то смотрел на сервере]). И надо будет проверять: если какие-то зависимые службы были запущены до исполнения старт-стопа «TermService» — потребно их будет так же стартовать. |
Отлично работает. Да я уже и до этого пробовал. Из коммандной строки пашет.
Код:
Microsoft Windows [Version 6.1.7600] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. |
goodguy, я обновил свой предыдущий пост.
Цитата:
|
Аа, не сразу понял, что нужно =)
Код:
А с последним пунктом что-то можно сделать? Чтобы не вводить вручную Y |
Цитата:
Код:
net.exe stop TermService /y |
Iska, спасибо огромное :)
Все работает на ура! |
Добавлю и себе для памяти. Microsoft Windows XP - Net services overview:
Цитата:
|
Выяснилась интересная деталь. Вариант у меня изначально был почти правильный, но тестировал я его на Вин 7 домашней расширенной 64 рядной.
И этот батник на ней не работает. Почему-то. Тогда как на профессиональной 32 битной без проблем. Причем на той же домашней расширенной, из командной строки тоже все работает. В общем, не важно, это просто к сведению. Нужно все равно для профессинальной :) |
Цитата:
|
А как вместо AcceptStop=TRUE сделать AcceptStop=FALSE ? Чтобы служба не останавливалась, например Task Scheduler ? Service - Schedule
|
Время: 23:34. |
Время: 23:34.
© OSzone.net 2001-