Як перезапустити послугу на віддаленій машині в 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.