Як перезапустити послугу на віддаленій машині в Windows? [зачинено]


138

Іноді під час налагодження мені потрібно перезапустити послугу на віддаленій машині. В даний час я роблю це через віддалений робочий стіл. Як це можна зробити з командного рядка на моїй локальній машині?


1
Жоден із цих відповідей не пояснює, як зробити віддалений пуск, обробляючи дозволи користувача, необхідні для виконання службового дзвінка.
djangofan

Відповіді:


206

Ви можете скористатися консоллю послуг, натиснувши ліворуч, а потім вибравши опцію «Підключитися до іншого комп'ютера» у меню Дія.

Якщо ви хочете використовувати лише командний рядок, ви можете використовувати

sc \\machine stop <service>

1
Відмінно працює від cmd.exe. Не працює в PowerShell, можливо, через помилку \\ наступна: Set-Content: Неможливо знайти параметр, який відповідає імені параметра "[назва служби]". Єдиний незначний недолік полягає в тому, що він повертає вас до командного рядка до завершення операції.
Джош Кодрофф

4
оскільки команда СБН працює асинхронному , якщо вам потрібно скрипт перезавантаження служби, подивіться на пакетних сценаріїв я опублікував тут: stackoverflow.com/questions/1405372 / ...
Ерік Falsken

6
На Powershell вам потрібно користуватися sc.exe \\machine stop <service>. В іншому випадку, я думаю, sc посилається на іншу команду.
CJBrew

5
Який мінімальний набір дозволів, необхідний користувачеві для запуску певної віддаленої послуги на віддаленому комп'ютері?
huseyint

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

41

Ви можете використовувати mmc:

  1. Старт / Виконання. Введіть "mmc".
  2. Файл / Додати / видалити оснащення ... Натисніть "Додати ..."
  3. Знайдіть "Послуги" та натисніть "Додати"
  4. Виберіть "Інший комп'ютер:" та введіть ім'я хоста / IP-адресу віддаленої машини. Клацніть Готово, Закрити тощо.

У цей момент ви зможете керувати службами так, ніби вони були на вашій локальній машині.


1
На жаль, вимога "командного рядка" не було.
Райан Даффілд

7
Який порт (и) мені потрібно буде розблокувати на сервері?
The Muffin Man

2
Це золото. Я завжди віддалено звертався до серверів, щоб обробляти послуги. Тепер з цим у мене може бути список різних серверів в одній консолі.
Алан

9

Ви можете використовувати команду PSEXEC для внутрішніх систем для віддаленого виконання чистої зупинки вашої служби , а потім чистого запуску служби


PSService також корисний. У цих інструментів багато сил.
Бред Брюс

7

Використовуючи командний рядок, ви можете це зробити:

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

5
щоб зрозуміти, команда "AT" використовує планувальник Windows для планування команди. це надмірний вміст для написання декількох віддалених команд і не гарантує виконання порядку чи завершення команди перед наступною командою. Команда SC набагато краща для цього. Подивіться на пакетних сценаріїв я писав в цьому питанні: stackoverflow.com/questions/1405372 / ...
Ерік Falsken

1

Я б запропонував вам поглянути на RSHD

Клієнту не потрібно турбуватися, Windows має його за замовчуванням.


0

Що ж, якщо у вас є Visual Studio (я знаю, що це було в 2005 році, але не впевнений у попередніх версіях), ви можете додати віддалену машину до тегу "Провідник сервера". У цей момент ви отримаєте доступ до ПОСЛУГ, які працюють або можуть бути запущені з цієї машини (а також журнали подій, черги та ще кілька цікавих речей).


Як не дивно, це працює у VS2005, але НЕ у VS2008. Ви все ще можете BROWSE послуги, але більше не запускати або зупиняти їх безпосередньо. Замість цього можна клацнути правою кнопкою миші вузол Services та запустити Диспетчер послуг для цього хоста.
Пітер Вун

0

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

Відкрити запит dos введіть
telnet yourmachineip / name
Увійдіть до
типу net start & serviceName *, наприклад, w3svc

Це запустить IIS або ви можете використовувати чисту зупинку, щоб зупинити послугу.

Залежно від налаштувань, ви повинні подивитися на спосіб забезпечення з'єднання telnet, оскільки я вважаю його незашифрованим.


2
Telnet, безумовно, незашифрований.
Джош Кодрофф

0

Тут є кілька хороших рішень. Якщо ви все ще перебуваєте на Win2K і не можете нічого встановити на віддалений комп'ютер, це також працює:

Відкрийте консоль управління комп'ютером (клацніть правою кнопкою миші «Мій комп’ютер», виберіть «Керувати»; відкрийте з «Адміністративні інструменти» у меню «Пуск»; або відкрийте в MMC за допомогою оснащення).

Клацніть правою кнопкою миші назву комп'ютера та оберіть "Підключитися до віддаленого комп'ютера"

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.