Jak ponownie uruchomić usługę na komputerze zdalnym w systemie Windows? [Zamknięte]

138

Czasami podczas debugowania muszę ponownie uruchomić usługę na komputerze zdalnym. Obecnie robię to przez Pulpit zdalny. Jak można to zrobić z wiersza poleceń na moim komputerze lokalnym?

Josh Kodroff
źródło
1
Żadna z tych odpowiedzi nie wyjaśnia, jak wykonać zdalny start podczas obsługi uprawnień użytkownika wymaganych do wykonania wywołania usługi.
djangofan

Odpowiedzi:

206

Możesz skorzystać z konsoli usług, klikając po lewej stronie, a następnie wybierając opcję „Połącz z innym komputerem” w menu Akcja.

Jeśli chcesz używać tylko wiersza poleceń, możesz użyć

sc \\machine stop <service>
Vinko Vrsalovic
źródło
1
Działa doskonale z cmd.exe. Nie działa w PowerShell, prawdopodobnie z powodu następującego błędu \\: Set-Content: Nie można znaleźć parametru pasującego do nazwy parametru „[nazwa usługi]”. Jedyną drobną wadą jest to, że powraca do wiersza poleceń przed zakończeniem operacji.
Josh Kodroff
4
ponieważ polecenie sc działa asynchronicznie, jeśli potrzebujesz skryptu restartu usługi, spójrz na skrypty wsadowe, które zamieściłem tutaj: stackoverflow.com/questions/1405372/ ...
Eric Falsken
6
W przypadku Powershell musisz użyć sc.exe \\machine stop <service>. W przeciwnym razie myślę, że sc odnosi się do innego polecenia.
CJBrew
5
Jaki jest minimalny zestaw uprawnień wymaganych od użytkownika do uruchomienia określonej usługi zdalnej na komputerze zdalnym?
huseyint
+1 to działa bezproblemowo w PowerShell, w przeciwieństwie do rzeczy takich jak Invoke-Command \\ remote_machine {Start-Service ...} (które wymaga Windows Remote Management skonfigurowanego na remote_machine) i wygrywa z PsTools w tym sc.exe domyślnie z instalacją systemu Windows
hello_earth
41

Możesz użyć mmc:

  1. Start / Uruchom. Wpisz „mmc”.
  2. Plik / Dodaj / Usuń przystawkę ... Kliknij „Dodaj ...”
  3. Znajdź „Usługi” i kliknij „Dodaj”
  4. Wybierz „Inny komputer:” i wpisz nazwę hosta / adres IP zdalnego komputera. Kliknij Zakończ, Zamknij itd.

W tym momencie będziesz mógł zarządzać usługami tak, jakby były na twoim lokalnym komputerze.

Ryan Duffield
źródło
1
Ups, nie widziałem wymagania dotyczącego „wiersza poleceń”.
Ryan Duffield
7
Które porty muszę odblokować na moim serwerze?
The Muffin Man
2
To jest złoto. Zawsze uzyskiwałem zdalny dostęp do serwerów w celu obsługi usług. Teraz dzięki temu mogę mieć listę różnych serwerów w tej samej konsoli.
Alan,
9

Możesz użyć polecenia System Internals PSEXEC, aby zdalnie wykonać net stop yourservice , a następnie net start yourservice

Philibert Perusse
źródło
PSService też się przydaje. W tych narzędziach jest dużo mocy.
Brad Bruce,
7

Korzystając z wiersza poleceń, możesz to zrobić:

AT \\computername time "NET STOP servicename"
AT \\computername time "NET START servicename"
Andrew Moore
źródło
5
aby było jasne, polecenie „AT” używa harmonogramu systemu Windows do zaplanowania polecenia. jest to przesada, jeśli chodzi o tworzenie skryptów wielu poleceń zdalnych i nie gwarantuje kolejności wykonania lub zakończenia polecenia przed następnym poleceniem. Polecenie SC jest do tego znacznie lepsze. Spójrz na skrypty wsadowe, które zamieściłem w tym pytaniu: stackoverflow.com/questions/1405372/ ...
Eric Falsken
1

Proponuję przyjrzeć się RSHD

Nie musisz zawracać sobie głowy klientem, Windows ma to domyślnie.

tafa
źródło
0

Cóż, jeśli masz Visual Studio (wiem, że to rok 2005, chociaż nie jestem pewien co do wcześniejszych wersji), możesz dodać komputer zdalny do tagu „Server Explorer”. W tym momencie będziesz mieć dostęp do USŁUG, które są uruchomione lub mogą być uruchomione z tego komputera (a także dzienniki zdarzeń i kolejki oraz kilka innych interesujących rzeczy).

Stephen Wrighton
źródło
Co dziwne, działa to w VS2005, ale NIE w VS2008. Nadal możesz PRZEGLĄDAĆ usługi, ale nie możesz już ich bezpośrednio uruchamiać ani zatrzymywać. Zamiast tego można kliknąć prawym przyciskiem myszy węzeł Usługi i uruchomić Menedżera usług dla tego hosta.
Peter wygrał
0

Jednym ze sposobów byłoby włączenie serwera telnet na maszynie, na której chcesz kontrolować usługi (dodaj / usuń składniki systemu Windows)

Otwórz polecenie DOS
Wpisz telnet yourmachineip / name
Zaloguj się
wpisz net start & serviceName * np. W3svc

Spowoduje to uruchomienie usług IIS lub możesz użyć polecenia net stop, aby zatrzymać usługę.

W zależności od konfiguracji, musisz przyjrzeć się sposobowi zabezpieczenia połączenia telnet, ponieważ myślę, że jest nieszyfrowane.

alexmac
źródło
2
Telnet jest zdecydowanie nieszyfrowany.
Josh Kodroff
0

Kilka dobrych rozwiązań. Jeśli nadal korzystasz z Win2K i nie możesz niczego zainstalować na komputerze zdalnym, działa to również:

Otwórz konsolę zarządzania komputerem (kliknij prawym przyciskiem Mój komputer, wybierz Zarządzaj; otwórz z Narzędzi administracyjnych w menu Start; lub otwórz z MMC przy użyciu przystawki).

Kliknij prawym przyciskiem myszy nazwę komputera i wybierz „Połącz z komputerem zdalnym”

Wpisz nazwę komputera i poświadczenia, a uzyskasz pełny dostęp do wielu funkcji administratora, w tym do panelu sterowania usługami.


źródło