Wie starte ich einen Dienst auf einem Remotecomputer unter Windows neu? [geschlossen]

138

Manchmal muss ich beim Debuggen einen Dienst auf einem Remotecomputer neu starten. Derzeit mache ich das über Remotedesktop. Wie kann dies über die Befehlszeile auf meinem lokalen Computer erfolgen?

Josh Kodroff
quelle
1
Keine dieser Antworten erklärt, wie der Fernstart durchgeführt wird, während die zum Ausführen des Serviceabrufs erforderlichen Benutzerberechtigungen verarbeitet werden.
Djangofan

Antworten:

206

Sie können die Dienstekonsole verwenden, auf die linke Seite klicken und dann im Menü Aktion die Option "Mit einem anderen Computer verbinden" auswählen.

Wenn Sie nur die Befehlszeile verwenden möchten, können Sie verwenden

sc \\machine stop <service>
Vinko Vrsalovic
quelle
1
Funktioniert perfekt von cmd.exe. Funktioniert in PowerShell nicht, wahrscheinlich aufgrund des Fehlers \\, folgender Fehler: Set-Content: Es wurde kein Parameter gefunden, der dem Parameternamen '[der Name des Dienstes]' entspricht. Der einzige kleine Nachteil ist, dass Sie zur Befehlszeile zurückkehren, bevor der Vorgang abgeschlossen ist.
Josh Kodroff
4
Da der Befehl sc asynchron funktioniert, sollten Sie sich die Batch-Skripte ansehen, die ich hier veröffentlicht habe: stackoverflow.com/questions/1405372/…
Eric Falsken
6
Auf Powershell müssen Sie verwenden sc.exe \\machine stop <service>. Ansonsten bezieht sich sc meiner Meinung nach auf einen anderen Befehl.
CJBrew
5
Was sind die Mindestberechtigungen, die ein Benutzer benötigt, um einen bestimmten Remotedienst auf dem Remotecomputer zu starten?
Huseyint
+1 Dies funktioniert ohne Probleme in Powershell, im Gegensatz zu Invoke-Command \\ remote_machine {Start-Service ...} (für das Windows Remote Management erforderlich ist, das auf remote_machine konfiguriert ist) und gewinnt PsTools in dieser sc.exe Standardmäßig mit Windows-Installation
hallo_earth
41

Sie können mmc verwenden:

  1. Starte den Lauf. Geben Sie "mmc" ein.
  2. Snap-In ablegen / hinzufügen / entfernen ... Klicken Sie auf "Hinzufügen ..."
  3. Suchen Sie nach "Services" und klicken Sie auf "Add".
  4. Wählen Sie "Anderer Computer:" und geben Sie den Hostnamen / die IP-Adresse des Remote-Computers ein. Klicken Sie auf Fertig stellen, Schließen usw.

An diesem Punkt können Sie Dienste so verwalten, als wären sie auf Ihrem lokalen Computer.

Ryan Duffield
quelle
1
Hoppla, die "Befehlszeilen" -Anforderung wurde nicht angezeigt.
Ryan Duffield
7
Welche Ports müsste ich auf meinem Server entsperren?
Der Muffin-Mann
2
Das ist Gold. Ich habe immer remote auf Server zugegriffen, um Dienste zu verwalten. Jetzt kann ich eine Liste verschiedener Server in derselben Konsole haben.
Alan
9

Sie können mit System - Interna PSEXEC Befehl aus der Ferne ein ausführen net stop Your , dann net start Your

Philibert Perusse
quelle
PSService ist ebenfalls nützlich. In diesen Werkzeugen steckt viel Kraft.
Brad Bruce
7

Über die Befehlszeile können Sie Folgendes tun:

AT \\computername time "NET STOP servicename"
AT \\computername time "NET START servicename"
Andrew Moore
quelle
5
Um dies zu verdeutlichen, verwendet der Befehl "AT" den Windows-Scheduler, um einen Befehl zu planen. Es ist ein Overkill für das Scripting einer Reihe von Remote-Befehlen und garantiert nicht die Ausführungsreihenfolge oder den Befehlsabschluss vor dem nächsten Befehl. Der SC-Befehl ist dafür viel besser. Schauen Sie sich die Batch-Skripte an, die ich in dieser Frage gepostet habe: stackoverflow.com/questions/1405372/…
Eric Falsken
1

Ich würde Ihnen vorschlagen, sich RSHD anzuschauen

Sie müssen sich nicht um einen Client kümmern, Windows hat ihn standardmäßig.

Tafa
quelle
0

Wenn Sie über Visual Studio verfügen (ich weiß, dass es 2005 ist, bei früheren Versionen jedoch nicht sicher), können Sie den Remotecomputer zu Ihrem "Server Explorer" -Tag hinzufügen. Zu diesem Zeitpunkt haben Sie Zugriff auf die DIENSTLEISTUNGEN, die von diesem Computer aus ausgeführt werden oder ausgeführt werden können (sowie auf Ereignisprotokolle, Warteschlangen und einige andere interessante Dinge).

Stephen Wrighton
quelle
Seltsamerweise funktioniert dies in VS2005, aber NICHT in VS2008. Sie können die Dienste weiterhin DURCHSUCHEN, sie jedoch nicht mehr direkt starten oder stoppen. Stattdessen können Sie mit der rechten Maustaste auf den Knoten Dienste klicken und den Dienstmanager für diesen Host starten.
Peter Wone
0

Eine Möglichkeit besteht darin, den Telnet-Server auf dem Computer zu aktivieren, auf dem Sie die Dienste steuern möchten (Hinzufügen / Entfernen von Windows-Komponenten).

Öffnen Sie die Eingabeaufforderung Geben Sie
telnet yourmachineip / name ein. Melden Sie sich
bei
net start & serviceName * an, z. B. w3svc

Dadurch wird IIS gestartet, oder Sie können Net Stop verwenden, um einen Dienst zu stoppen.

Abhängig von Ihrem Setup müssen Sie nach einer Möglichkeit suchen, die Telnet-Verbindung zu sichern, da sie meiner Meinung nach unverschlüsselt ist.

alexmac
quelle
2
Telnet ist definitiv unverschlüsselt.
Josh Kodroff
0

Einige gute Lösungen hier. Wenn Sie immer noch unter Win2K arbeiten und nichts auf dem Remotecomputer installieren können, funktioniert dies auch:

Öffnen Sie die Computerverwaltungskonsole (klicken Sie mit der rechten Maustaste auf Arbeitsplatz, wählen Sie Verwalten, öffnen Sie sie über die Verwaltung im Startmenü oder öffnen Sie sie über das Snap-In über die MMC).

Klicken Sie mit der rechten Maustaste auf Ihren Computernamen und wählen Sie "Mit Remotecomputer verbinden".

Geben Sie den Computernamen und die Anmeldeinformationen ein und Sie haben vollen Zugriff auf viele Verwaltungsfunktionen, einschließlich der Systemsteuerung für Dienste.


quelle