Перезапустите службу Windows из командной строки
Обновлено: 21.11.2024
выходит ошибка, потому что sc не ждет, пока служба будет остановлена. Как перезапустить службу с помощью скрипта?
8 ответов 8
Автор хочет убедиться, что служба остановлена, прежде чем пытаться перезапустить ее. Вы можете использовать цикл на выходе "sc query", делая что-то вроде этого:
В Windows Server 2008 уровень ошибки равен 0, если он найден, и 1, если он не найден. Поэтому мне пришлось инвертировать логику, и тогда это сработало.
Возможно, что-то упущено, но я использую это все время:
net stop "myservice"
net start "myservice"
net stop "myservice" && net start "myservice"
Чертовски просто с PowerShell:
Еще лучше, используя отображаемые имена:
Get-Help Restart-Service для получения дополнительной информации
Если это нужно исключительно для перезапуска службы, вы можете использовать
Однако, если вам нужен доступ к параметрам sc, вы можете использовать команду start /wait
этот метод является более общим решением, которое можно применить к любой команде.
sc stop myservice просто отправит команду остановки и вернется до того, как служба будет остановлена. Вызов sc с start /b не поможет.
Чтобы иметь тихий перезапуск какой-либо службы, которая запрашивает подтверждения для остановки (например, службы сервера), вы можете добавить /y в конец команды остановки.
Было бы полезно для автоматического выполнения скрипта.
Если вы хотите перезапустить неисправную службу, вам не нужно запускать сценарий. В оснастке MMC «Службы» щелкните правой кнопкой мыши службу, выберите «Свойства», перейдите на вкладку «Восстановление». Здесь вы можете указать, какие действия вы хотите предпринять, если служба остановится. Доступна большая гибкость. Вам понадобится сценарий, если вы пытаетесь остановить службу, сделайте что-нибудь, затем запустите сценарий, предварите командный файл словом net stop "myserviceshortname" и завершите его net start "myserviceshortname"
В vbscipt немного больше кода для остановки службы и ее зависимостей:
Здесь запуск службы и все, от чего она зависит (это должно быть знакомо)
В следующей таблице перечислены службы BizTalk Server, которые можно запускать, останавливать, приостанавливать, возобновлять или перезапускать:
– Системное приложение COM+
– Удаленный вызов процедур (RPC)
– SQL Server (MSSQLSERVER)
При удаленной установке SQL Server:
Запуск, остановка, приостановка, возобновление или перезапуск службы BizTalk Server
Вы можете запустить, остановить, приостановить, возобновить или перезапустить службу BizTalk Server с помощью Services.msc или с помощью командной строки.
Предпосылки
Для выполнения этой процедуры вы должны быть членом группы администраторов на локальном компьютере или вам должны быть делегированы соответствующие полномочия. Если компьютер присоединен к домену, члены группы «Администраторы домена» могут выполнить эту процедуру. Из соображений безопасности рассмотрите возможность использования команды «Выполнить от имени» для выполнения этой процедуры.
Использовать службы в панели управления
Открыть службы. Нажмите «Пуск», выберите «Выполнить» и введите services.msc.
Щелкните правой кнопкой мыши соответствующую службу BizTalk Server и выберите "Пуск", "Остановить", "Пауза", "Возобновить" или "Перезапустить".
Используйте командную строку
В меню "Пуск" щелкните правой кнопкой мыши командную строку, выберите "Дополнительно" и выберите "Запуск от имени администратора".
Введите одно из следующих значений, где ServiceName — это имя службы BizTalk Server, которую вы хотите запустить, остановить, приостановить или возобновить:
Чтобы запустить службу, введите:
net start ServiceName
Чтобы остановить службу, введите:
net stop ServiceName
Чтобы приостановить службу, введите:
net pause ServiceName
Чтобы возобновить службу, введите:
net continue ServiceName
Выключить BizTalk Server
Предпосылки
- Войдите в систему с учетной записью, которая является членом группы локальных администраторов на сервере BizTalk, который вы хотите отключить. Это необходимо для остановки служб.
- Войдите в систему, используя учетную запись, которая является членом группы администраторов BizTalk Server или группы операторов BizTalk Server.
Обзор задачи
Отключите места получения и остановите оркестрацию и порты отправки, выполнив частичную остановку для каждого активного приложения. Полную остановку следует выполнять только в том случае, если вы собираетесь удалить или повторно развернуть приложение. Дополнительные сведения см. в разделе Как запустить и остановить приложение BizTalk.
Остановить экземпляры хоста. Дополнительные сведения см. в разделе Как остановить экземпляр хоста.
Выключите службы BizTalk Server. См. Как запустить, остановить, приостановить, возобновить или перезапустить службы BizTalk Server (в этом разделе).
Завершите работу информационных служб Интернета (IIS) или остановите пулы приложений BizTalk Server и веб-сайты. Если вы собираетесь полностью отключить сервер, вы можете пропустить этот шаг.Если вы останавливаете BizTalk Server для обслуживания или для развертывания или отмены развертывания приложения BizTalk Server, вам следует выполнить этот шаг. Когда вы останавливаете только веб-сайты и пулы приложений, связанные с BizTalk Server, другие процессы, связанные с IIS, продолжают выполняться.
То, как вы выполните этот шаг, в некоторой степени зависит от того, какую версию IIS вы используете. IIS 6 позволяет останавливать пулы приложений и веб-сайты. С помощью IIS 6 вы также можете остановить службу администрирования IIS, чтобы закрыть все действия IIS, включая пулы приложений и веб-сайты. IIS 7.0 является более модульным, чем IIS 6.0, и нет единого переключателя, который можно использовать для остановки всех действий IIS 7.0, поэтому вам придется останавливать веб-сайты и пулы приложений отдельно.
Список пулов приложений и виртуальных приложений (веб-сайтов и веб-служб), используемых BizTalk Server, см. в разделе Настройка BizTalk Server.
Если вы управляете службами Windows и вам удобно работать из командной строки, то команда Windows NET.EXE должна быть в вашем наборе инструментов. Используйте его, чтобы легко запускать, останавливать, приостанавливать или перезапускать любую службу из командной строки с повышенными привилегиями или в удобном сценарии или пакетном файле.
Использование NET для остановки службы Windows
Чтобы остановить службу, запустите:
где имя службы. Обязательно заключите его в кавычки, если он содержит пробел!
Например, чтобы остановить службу диспетчера очереди печати (с именем «Диспетчер очереди»), выполните:
Вот как это выглядит на нашем компьютере с Windows Server 2016:
Обратите внимание, что команда NET будет ждать остановки службы, прежде чем продолжить. Единственным исключением является случай, когда служба не отвечает или требуется более 30 секунд для выполнения требований.
Запуск службы Windows с помощью NET
Чтобы запустить бездействующую службу Windows, выполните:
Если все пойдет хорошо, ваша служба (и любая другая служба, от которой зависит ее работа) будет запущена через несколько секунд:
Как перезапустить службу Windows с помощью NET.EXE
Чтобы перезапустить службу, скажем, из пакетного файла, объедините команды "net stop" и "net start" следующим образом:
NET также будет приостанавливать и возобновлять службы Windows
Не все службы поддерживают паузу и возобновление работы, но если у вас есть служба, которая поддерживает NET, она тоже может пригодиться.
Чтобы приостановить службу, введите:
Чтобы возобновить приостановленную службу, выполните:
Вам также может понравиться.
28 ответов на вопрос Основные инструменты для служб Windows: команда NET
При использовании команды NET в пакетном режиме для перезапуска я рекомендую добавить время для реакции служб. Я сделал это для одного из моих сервисов, который имеет тенденцию зависать. См. ниже;
@ЭХО.
@ECHO Остановка служб, подождите 10 секунд…
@ECHO OFF
Служба остановки REM
NET STOP ServiceNameHere
REM Ниже приведен таймер, позволяющий очистить оперативную память сервера после остановки службы.
REM Используйте числовое значение в командной строке 'timeout', чтобы контролировать, сколько секунд будет длиться пауза.
TIMEOUT /t 10 /NOBREAK
ЭХО.
NET START ServiceNameЗдесь
У меня есть вопрос, если мне нужно запустить несколько служб, а для запуска этих служб требуется более 30 секунд, то как я могу добиться этого, поскольку в настоящее время происходит сбой с ошибкой "время ожидания 'net' истекло через 30 секунд".
Благодарим за ранний ответ. спасибо
Привет. Мы рекомендуем создать пакетный файл, который использует команду SC, чтобы остановить службу и проверить ее позже.
Чтобы остановить службу с помощью SC, используйте:
имя службы SC STOP
Чтобы проверить, была ли служба успешно остановлена (после ожидания более 30 секунд), используйте следующую команду:
SC QUERY servicename | НАЙТИ «СОСТОЯНИЕ» | НАЙТИ «ОСТАНОВЛЕНО»
Переменной %ERRORLEVEL% будет присвоено значение 1, если служба не находится в состоянии "Остановлена".
Эта статья может содержать дополнительные рекомендации.
Мне нужен сценарий для проверки способности пользователей запускать службу. Несколько пользователей на нескольких серверах. Могу ли я сделать это с помощью команд SC или NET?
Если вы не против попробовать запустить службу, вы также можете использовать NET START и искать ошибки, как показано в примере на этой странице.
сэр нет, остановите telnet, как использовать эту команду
Обратите внимание, что если имя службы состоит из двух или более слов, его необходимо заключить в кавычки. Мне потребовалось время, чтобы найти это!
Я хочу перезапустить службы на нескольких серверах Windows, и это займет около 1 минуты. Я пытался использовать NET STOP, но он не ждал и просто выполнил следующую команду для запуска. Может кто-нибудь помочь мне с точным сценарием, который я могу использовать для перезапуска служб на нескольких серверах.
NET STOP будет ждать остановки службы только около 30 секунд. Если служба занимает больше нескольких секунд, NET выдаст сообщение «Невозможно дождаться».
К сожалению, нет способа заставить NET STOP «подождать дольше». И утилита SC ничем не поможет, она даже не пытается ждать.
Мы рекомендуем использовать пакетный файл «safeServiceStop.bat» (или «safeServiceRestart.bat»), описанный в этой статье.
Сохраните пакетный файл в своей файловой системе и вызовите его из существующего пакетного файла. Обратите внимание, что вы должны добавить «localhost» при вызове нового пакетного файла. Например, чтобы остановить службу под названием «Диспетчер очереди», используйте
safeServiceStop localhost Spooler
Обратите внимание, что рекомендуемое решение будет ожидать остановки службы неопределенное время. Если служба никогда не останавливается, ваш скрипт зависнет.
ОБНОВЛЕНИЕ 27.08.2018. Мы создали бесплатную утилиту командной строки (называемую ServicePilot), которая будет ждать столько, сколько вам нужно, при остановке службы. Вы можете использовать его вместо рекомендованного выше пакетного файла — это гораздо более простая альтернатива.
При использовании ServicePilot обязательно укажите соответствующее значение для флага "-wait". Например, чтобы остановить службу диспетчера очереди печати, если для ее выполнения может потребоваться 5 минут (300 секунд), используйте:
Обратите внимание, что служба будет принудительно остановлена, если она не остановится корректно в течение заданного периода времени.
Остановить службу Тобии. Не принимает команду Net Start, а Sc start, говорит что команда неверная, имя службы (Tobii Service)
Какую команду вы используете, чтобы остановить Тобии?
Убедитесь, что вы указываете имя службы. И заключите имя в кавычки, если оно содержит пробел!
Это было правильно, я поставил имя без ("), поэтому это было неправильно, теперь это сработало. Чистый старт «Тобии Сервис»
Если я использую net stop и net start на специальной службе, которая перестала работать правильно, это не помогает, она все еще работает неправильно.
Но при перезапуске той же службы из services.msc служба сбрасывается правильно. В чем разница?
(название сервиса состоит из одного слова, так что проблема не в кавычках..)
Выводит ли NET STOP/START какие-либо сообщения об ошибках на консоль? Возможно, он дает сбой и фактически не останавливает/запускает службу.
Распространенная проблема: NET STOP/START завершится ошибкой, если у вас недостаточно прав. Убедитесь, что вы работаете в командной строке с повышенными правами (начиная с «Запуск от имени администратора»).
Спасибо. Сообщений об ошибках нет, просто пишет, что служба остановлена. И да, я запускаю его на повышенных настройках.
Я попробую тайм-аут с первого комментария в следующий раз, когда буду за компьютером.
Очень распространенная проблема при работе с командами net или SC и некоторыми пользовательскими службами заключается в том, что вам нужно указать «Имя службы», а не «Отображаемое имя». Часто они совпадают, но не всегда. Щелкните правой кнопкой мыши службу в services.msc, чтобы увидеть две на вкладке «Общие», и убедитесь, что вы делаете «Net Start servicename» — и, как сказано выше, вам все равно придется заключать ее в кавычки, если в ней есть пробелы.
Вы можете изменить имя с помощью sc, чтобы сделать его проще, если хотите, но очевидно, что это может быть плохой идеей с системными/Windows-сервисами.
Кстати, я знаю, что в статье действительно говорится об этом, но ссылка на «название службы», которая объясняет это, довольно тонкая, и я думаю, что люди могут этого не заметить.
Спасибо, что указали на важную разницу между «Именем службы» и «Отображаемым именем».
Да, мы упомянули в статье о необходимости использовать «Имя службы», но, возможно, есть способ сделать его более заметным. Мы подумаем над этим — дайте нам знать, если у вас есть идеи, которые не отвлекают от основной темы статьи (использование NET).
Обратите внимание, что наша бесплатная утилита ServicePilot (более полнофункциональная альтернатива NET.EXE) устраняет путаницу в именах, принимая как «Имя службы», так и «Отображаемое имя». Вы можете использовать любой из них!
В центре внимания искусство. Удивительно из-за. Это дало мне, возможно, лучшую задачу. ровно через 30 секунд после входа в систему, одновременно с разрешением рабочего стола в моей системе запуска SSD, я наблюдаю, как слегка модифицированная версия вашего скрипта отключает службу Synergy, а затем включает ее примерно через 20 секунд. До сих пор при каждом входе в систему в течение ~ 6 месяцев с момента получения Synergy приходилось щелкать значок на панели задач для Synergy, а затем останавливать и запускать программу, потому что она не запускает клики клиента, пока служба не перезапустится. Просто лучший. Вот мой модифицированный скрипт:
@ECHO.
@ECHO Остановка служб, подождите 10 секунд…
@ECHO OFF
Служба остановки REM
Синергия NET STOP
TIMEOUT /t 10 /NOBREAK
ЭХО.
Синергия NET START
забыл поблагодарить ВАС, основные технологии, за недавнюю помощь в запуске моего ПЛАНИРОВЩИКА ЗАДАНИЙ... хотя и на совершенно другом компьютере, чем тот, который упоминался выше.
Если служба не запущена, START не произойдет, если вы не отформатируете его следующим образом:
чистая остановка
чистая начальная
Если служба не запущена, первая строка выдаст ошибку и выдаст ошибку, а вторая подхватит и запустит службу.
Я хочу перезапускать определенную службу в определенное время каждую неделю.
Если я воспользуюсь указанными выше командами, будет ли это работать?
и если не удастся остановить службу, получу ли я какое-либо уведомление по электронной почте или есть ли способ получить уведомление по электронной почте мне, если что-то пойдет не так?
также, если перезагрузка с пакетным файлом будет выполнена успешно, я все равно получу уведомление вместо входа в систему и проверки журналов Windows
Да — вы можете использовать приведенные выше команды NET в сочетании с планировщиком заданий Windows для перезапуска определенной службы в определенное время. Мы добавим в блог статью с подробностями и сообщим вам, когда она будет готова.
К сожалению, в Windows нет простого встроенного способа уведомить вас об успешном или неудачном выполнении операции службы. Некоторые администраторы крупных сайтов настроили инструменты, которые отслеживают важные события в журнале событий и доставляют оповещения, но это может быть излишним, если вы не работаете в корпоративной среде.
Сообщите нам, если это решение вам не подходит.
У меня есть два пакетных файла, написанных в моем приложении для остановки и запуска службы Windows.
Есть ли способ проверить состояние указанной службы (независимо от того, остановлена она или нет) и перезапустить ее в определенное время в течение дня?
Для большей ясности:
Служба приложений останавливается, скажем, в 23:00 и снова запускается в 23:15.
Есть ли способ написать временные условия для перезапуска скрипта, исключая продолжительность 23:00-23:15?
Извините, если это не имеет особого смысла.
Привет. Вы можете использовать этот простой пакетный файл, чтобы проверить, запущена служба или нет:
Сохраните эти строки в новом файле .BAT и передайте имя службы (не отображаемое имя) в качестве первого параметра.
Что касается остановки в определенное время и перезапуска в другое время, мы рекомендуем использовать планировщик заданий Windows.
Создайте базовую задачу, которая останавливает службу в 23:00 (командный файл с запуском NET STOP), а другую — запуск службы в 23:15 (с NET START).
Этот процесс описан в разделе "Перезагрузка несколько раз в день (с помощью планировщика заданий Windows)" этой статьи по теме.
В этом посте мы обсудим тему включения или отключения служб, а также запуска, остановки и перезапуска служб в Windows 11 или Windows 10 с помощью PowerShell, командной строки, диспетчера задач и сетевой команды. р>
Службы Windows — это приложения, которые обычно запускаются при загрузке компьютера и спокойно работают в фоновом режиме, пока он не будет выключен. По сути, служба – это любое приложение Windows, реализованное с помощью API служб и выполняющее низкоуровневые задачи, которые практически не требуют взаимодействия с пользователем.
Включить или отключить службы с помощью PowerShell и командной строки в Windows
Операционная система Windows, установленная и работающая на вашем устройстве, отлично справляется с автоматическим управлением службами, но иногда вам может потребоваться вручную включить или отключить службу по запросу. Имейте в виду, что если вы отключите службу, это повлияет на все зависимые службы; и включение службы не приводит к автоматическому перезапуску зависимых от нее служб.
Доступ ко всем службам Windows можно получить через диспетчер служб Windows, и с его помощью вы можете запускать, останавливать и отключать службы Windows.
Но вы также можете использовать PowerShell и командную строку для управления службами.
Для включения и отключения служб необходимо войти в систему как администратор. Не рекомендуется отключать службы, если вы не знаете, какие функции будут затронуты и как это повлияет на производительность системы в целом. Если вы отключили службу и не можете получить доступ к своему компьютеру, вы можете загрузиться в безопасном режиме, чтобы включить службу.
Прежде чем вносить изменения в службы, мы рекомендуем вам создать точку восстановления системы в качестве необходимой меры предосторожности на случай, если процедура приведет к сбою системы, вы сможете выполнить восстановление системы, используя точку восстановления, чтобы отменить изменения. р>
Включить или отключить службы с помощью PowerShell
- Нажмите клавишу Windows + X, чтобы открыть меню опытного пользователя.
- Нажмите A на клавиатуре, чтобы запустить PowerShell (терминал Windows) в режиме администратора/с повышенными правами.
- В консоли PowerShell введите или скопируйте и вставьте приведенную ниже команду и нажмите Enter, чтобы проверить текущее состояние всех служб:
Чтобы включить службу, введите нужную команду в консоли PowerShell и нажмите Enter:
Примечание. Замените заполнитель ServiceName в каждой из команд фактическим именем службы, которую вы хотите включить или отключить.
(Автоматический (отложенный запуск))
ИЛИ
ИЛИ
Чтобы включить и запустить службу, введите нужную команду в консоли PowerShell и нажмите Enter:
(Автоматический (отложенный запуск))
ИЛИ
ИЛИ
Включить или отключить службы с помощью командной строки
- Нажмите клавишу Windows + X, чтобы открыть меню опытного пользователя.
- Нажмите A на клавиатуре, чтобы открыть Терминал Windows в режиме администратора/с повышенными правами.
- В консоли командной строки введите или скопируйте и вставьте приведенную ниже команду и нажмите Enter, чтобы проверить текущее состояние всех служб:
Чтобы включить службу, введите нужную команду в консоли командной строки CMD и нажмите Enter:
Примечание. Замените заполнитель ServiceName в каждой из команд фактическим именем службы, которую вы хотите включить или отключить.
(Автоматический (отложенный запуск))
ИЛИ
ИЛИ
Чтобы включить и запустить службу, введите нужную команду в консоли CMD и нажмите Enter:
(Автоматический (отложенный запуск))
ИЛИ
ИЛИ
Запуск, остановка, перезапуск служб с помощью PowerShell, диспетчера задач, Net Command и CMD
Для запуска, остановки или перезапуска службы необходимо войти в систему как администратор. Кроме того, вы не сможете запустить отключенную службу, пока не включите ее.
Запуск, остановка или перезапуск служб с помощью PowerShell
- Откройте PowerShell (терминал Windows) в режиме администратора/с повышенными правами.
Чтобы запустить службу, введите нужную команду в консоли PowerShell и нажмите Enter:
Примечание. Замените заполнители ServiceName и DisplayName в каждой из команд фактическим именем службы и отображаемым именем службы, которую вы хотите запустить, остановить или Перезапустить.
ИЛИ
Чтобы остановить службу, введите нужную команду в консоли PowerShell и нажмите Enter:
ИЛИ
Чтобы перезапустить службу, введите нужную команду в консоли PowerShell и нажмите Enter:
Запуск, остановка или перезапуск служб в диспетчере задач
-
.
- Нажмите/коснитесь вкладки "Службы".
- Теперь щелкните правой кнопкой мыши или нажмите и удерживайте сервис.
- Нажмите/коснитесь Пуск, Остановить или Перезапустить.
Запуск, остановка или перезапуск служб с помощью Net Command
Чтобы запустить службу, введите в консоли нужную команду и нажмите Enter:
Примечание. Замените заполнители ServiceName и DisplayName в каждой из команд фактическим именем службы и отображаемым именем службы, которую вы хотите запустить, остановить или Перезапустить.
ИЛИ
Чтобы остановить службу, введите в консоли нужную команду и нажмите Enter:
Запуск, остановка или перезапуск служб с помощью командной строки
- Откройте Терминал Windows в режиме администратора/с повышенными правами.
- Выберите «Командная строка».
Чтобы запустить службу, введите приведенную ниже команду в консоль командной строки CMD и нажмите Enter:
Примечание. Замените заполнитель ServiceName в каждой из команд фактическим именем службы, которую вы хотите запустить, остановить или перезапустить.
Вот оно! Надеюсь, вы найдете этот пост достаточно информативным и полезным.
Какие службы запуска Microsoft можно отключить?
- Служба AVCTP — отключите ее, если вы не используете аудиоустройство Bluetooth или беспроводные наушники.
- Служба шифрования диска BitLocker — отключите ее, если вы не используете шифрование хранилища BitLocker.
- Служба поддержки Bluetooth – отключите ее, если вы не используете какое-либо устройство Bluetooth.
- Обозреватель компьютеров: это отключит сетевое обнаружение систем в локальной сети.
- Взаимодействие с подключенными пользователями и телеметрия – отключает обратную связь, телеметрию и сбор данных
- Служба политик диагностики
- И т. д.
Что произойдет, если я отключу все службы Microsoft?
Например, беспроводные службы контролируют вашу карту Wi-Fi, и если вы отключите эту службу, вы не сможете подключить Windows 11/10 к сети по беспроводной сети. У Intel довольно много сервисов, которые никогда не потребляют системные ресурсы.Наконец, все службы видеокарты должны оставаться включенными.
ГОРЯЧИЙ СОВЕТ: Средство восстановления и восстановления Windows 11 пока доступно БЕСПЛАТНО; иди и возьми его, пока можешь, потому что никогда не знаешь, когда он может понадобиться!
Дата: 10 января 2022 г. Теги: услуги
Похожие сообщения
Можно ли отключить службу удаленного вызова процедур в Windows 11/10?
Служба VSS отключается из-за тайм-аута простоя
Службе Windows Audio необходимо перезапустить при входе в систему, чтобы восстановить звук
[электронная почта защищена]
Обинна Онвусобалу изучала информационные и коммуникационные технологии и активно следит за экосистемой Windows. Он руководит клиникой компьютерного программного обеспечения. Он говорит, что лучше всего создать точку восстановления системы, прежде чем вносить какие-либо изменения в свой компьютер.
Читайте также: