Как перезапустить службу на удаленном компьютере в Windows?

Иногда во время отладки мне нужно перезапустить службу на удаленном компьютере. В настоящее время я делаю это через удаленный рабочий стол. Как это можно сделать из командной строки на моем локальном компьютере?

Ни один из этих ответов не объясняет, как выполнить удаленный запуск при обработке разрешений пользователя, необходимых для выполнения вызова службы.

djangofan 04.06.2013 01:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
141
1
435 232
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

Вы можете использовать консоль служб, щелкнув слева и выбрав опцию «Подключиться к другому компьютеру» в меню «Действие».

Если вы хотите использовать только командную строку, вы можете использовать

sc \machine stop <service>

Отлично работает с cmd.exe. Не работает в PowerShell, вероятно, из-за ошибки \\, следует: Set-Content: не удается найти параметр, который соответствует имени параметра «[имя службы]». Единственный незначительный недостаток заключается в том, что он возвращает вас в командную строку до завершения операции.

Josh Kodroff 10.10.2008 02:23

поскольку команда sc работает асинхронно, если вам нужно запустить сценарий перезапуска службы, взгляните на пакетные сценарии, которые я разместил здесь: stackoverflow.com/questions/1405372/…

Eric Falsken 12.06.2010 00:34

На Powershell вам нужно использовать sc.exe \machine stop <service>. В противном случае, я думаю, sc относится к другой команде.

CJBrew 03.06.2011 19:11

Какой минимальный набор разрешений требуется пользователю для запуска определенной удаленной службы на удаленном компьютере?

huseyint 17.06.2011 18:42

+1 это работает без проблем в PowerShell, в отличие от таких вещей, как Invoke-Command \\ remote_machine {Start-Service ...} (для которого требуется удаленное управление Windows, настроенное на remote_machine), и он выигрывает у PsTools в том, что идет sc.exe по умолчанию при установке Windows

hello_earth 19.07.2011 14:15

В PowerShell вы можете просто сделать это с помощью командлета Restart-Service: Get-Service W3SVC -computer myserver | Restart-Service.

Jan Remunda 18.03.2014 15:09

@JanRemunda Любой пример полного исходного кода на Powershell?

Kiquenet 24.07.2014 16:44

Это полный образец. С помощью командлета get-service вы разрешаете объект службы w3svc на компьютере "myserver" и передаете его по конвейеру с помощью | для командлета перезапуска службы.

Jan Remunda 24.07.2014 16:49

+1 В качестве примечания: если вам нужно сделать это из учетной записи без прав администратора, вы должны предоставить разрешения этому пользователю, как описано в ответе здесь: social.technet.microsoft.com/Forums/windowsserver/en-US/…

paulroho 15.09.2016 17:06

Что ж, если у вас есть Visual Studio (я знаю, что это в 2005 году, хотя не уверен в более ранних версиях), вы можете добавить удаленный компьютер в свой тег «Server Explorer». На этом этапе у вас будет доступ к СЛУЖБАМ, которые запущены или могут быть запущены с этого компьютера (а также журналам событий, очередям и некоторым другим интересным вещам).

Как ни странно, это работает в VS2005, но НЕ в VS2008. Вы по-прежнему можете ПРОСМОТРЕТЬ службы, но больше не можете запускать или останавливать их напрямую. Вместо этого вы можете щелкнуть правой кнопкой мыши узел Services и запустить Service Manager для этого хоста.

Peter Wone 31.01.2009 17:20

Один из способов - включить telnet-сервер на машине, на которой вы хотите управлять службами (добавить / удалить компоненты Windows).

Откройте подсказку dos
Введите telnet yourmachineip / имя
Вход в систему введите net start и serviceName * например w3svc

Это запустит IIS, или вы можете использовать net stop, чтобы остановить службу.

В зависимости от вашей настройки вам нужно рассмотреть способ защиты telnet-соединения, поскольку я считаю его незашифрованным.

Telnet определенно не зашифрован.

Josh Kodroff 20.05.2009 19:21

Вы можете использовать mmc:

  1. Пуск / Выполнить. Введите "mmc".
  2. Файл / Добавить / Удалить оснастку ... Нажмите "Добавить ..."
  3. Найдите «Услуги» и нажмите «Добавить».
  4. Выберите «Другой компьютер:» и введите имя хоста / IP-адрес удаленного компьютера. Нажмите «Готово», «Закрыть» и т. д.

После этого вы сможете управлять службами, как если бы они находились на вашем локальном компьютере.

Ой, не видел требования "командной строки".

Ryan Duffield 09.10.2008 19:45

Какие порты мне нужно разблокировать на моем сервере?

The Muffin Man 22.04.2014 20:33

Это золото. Я всегда обращался к серверам удаленно для обработки сервисов. Теперь у меня есть список разных серверов в одной консоли.

Alan 19.07.2017 17:03

Вы можете использовать команду Внутреннее устройство системыPSEXEC для удаленного выполнения нетто прекратите ваше обслуживание, затем net start yourservice

PSService тоже полезен. В этих инструментах много силы.

Brad Bruce 31.01.2014 08:18

Я бы посоветовал вам взглянуть на RSHD

За клиентом заморачиваться не надо, в Windows он есть по умолчанию.

Используя командную строку, вы можете сделать это:

AT \computername time "NET STOP servicename"
AT \computername time "NET START servicename"

Чтобы было понятно, команда «AT» использует планировщик Windows для планирования команды. это излишне для написания сценариев ряда удаленных команд и не гарантирует порядок выполнения или завершение команды до следующей команды. Для этого гораздо лучше подходит команда SC. Взгляните на пакетные скрипты, которые я разместил в этом вопросе: stackoverflow.com/questions/1405372/…

Eric Falsken 12.06.2010 00:33

Здесь несколько хороших решений. Если вы все еще используете Windows 2000 и не можете ничего установить на удаленный компьютер, это тоже работает:

Откройте консоль управления компьютером (щелкните правой кнопкой мыши «Мой компьютер», выберите «Управление»; откройте из «Администрирование» в меню «Пуск»; или откройте из MMC с помощью оснастки).

Щелкните правой кнопкой мыши имя своего компьютера и выберите «Подключиться к удаленному компьютеру».

Введите имя компьютера и учетные данные, и у вас будет полный доступ ко многим функциям администратора, включая панель управления службами.

Другие вопросы по теме