Steuern von ausgeführten Diensten mit dem SC-Befehl [Windows]

Steuern von ausgeführten Diensten mit dem SC-Befehl [Windows] / Windows

Was ich seit dem Einstieg in die IT viel häufiger mache, ist das Überwachen und Überprüfen des Status von Diensten, die auf Computern im gesamten Unternehmen ausgeführt werden.

Es gibt eine Standardmethode für das Verwalten von Diensten, die die meisten Leute verwenden, weil sie bekannt und relativ einfach ist. Dies bedeutet, dass Sie in die Verwaltungssteuerungen oder in die Systemsteuerung wechseln, das Dienstprogramm "Services" durchsuchen und das tun, was Sie tun müssen.

Wenn Sie die Dienste verwalten möchten, die auf einem anderen Computer oder Server in Ihrem Netzwerk ausgeführt werden, müssen Sie zur Computerverwaltung wechseln, eine Verbindung zum Remote-Computer herstellen und dann diese Dienste verwalten.

Es ist nichts falsch daran, diesen Ansatz zu verfolgen. Tatsächlich verwenden Systemadministratoren überall diese Standard-Windows-Dienstprogramme, um die Infrastruktur im gesamten Unternehmen zu verwalten. Was wäre, wenn Sie Dienste überwachen, stoppen und starten könnten, indem Sie eine einzige Zeile an der Eingabeaufforderung eingeben?

Dienste über die Befehlszeile steuern

Möglicherweise müssen Sie die auf einem Clientcomputer ausgeführten Dienste beenden, um Software neu installieren zu können. Oder Sie müssen möglicherweise Dienste neu starten, die auf einem Server ausgeführt werden, da einige Software nicht ordnungsgemäß funktioniert.

Bisher haben Sie wahrscheinlich Dienste auf Clientcomputern verwaltet, die in Ihrem Netzwerk mit dem Standarddienstprogramm ausgeführt werden. Dies ist das Services-Tool, das Sie in starten Verwaltungswerkzeuge Abschnitt des Bedienfelds.

In Admin Tools können Sie entweder direkt zum Dienste-Tool wechseln oder die Computerverwaltung öffnen, wenn Sie auf einen anderen Computer in Ihrem Netzwerk zugreifen möchten.

Um auf einen anderen Computer zuzugreifen, klicken Sie einfach auf Aktion, “Verbinden Sie sich mit einem anderen Computer” Geben Sie dann den Netzwerknamen des Computers ein.

Dann können Sie das Service-Tool öffnen.

Eine einfachere Möglichkeit, Services zu verwalten

Das ist also der lange Weg. Der kürzere und schnellere Weg ist die Verwendung des Befehls “SC”.

Sie kennen wahrscheinlich den NET-Befehl. Der SC-Befehl ist nahezu identisch mit NET, außer dass er einen Dienst erstellen und diese überwachen, stoppen und starten kann. Das Beste ist, Sie können den SC-Befehl über das Netzwerk gegen andere Computer ausgeben (vorausgesetzt, Sie verfügen über Administratorrechte)..

Wenn Sie eine SC-Abfrage mit einem Computer durchführen, werden alle installierten Dienste angezeigt und ob diese ausgeführt werden. Wenn Sie den Befehl ausgeben “SC \\ ** Computername ** Abfrage | mehr” - Sie erhalten eine Ausgabe wie hier gezeigt.

Wie Sie sehen, erhalten Sie hier den Status des Dienstes, die Art des Dienstes und andere Parameter. Für unsere Übungen hier werden wir nur auf den Zustand der Dienste achten.

Wenn Sie nur die Dienste auflisten möchten, die derzeit nicht ausgeführt werden (angehalten), geben Sie den Befehl aus, “SC \\ ** Computername ** Abfragestatus = “inaktiv” mehr”

Durch den | mehr Teil des Befehls wird die Ausgabe auf jedem Bildschirm angehalten, so dass Sie blättern können.

Wie Sie sehen, werden diese Dienste alle angehalten. Anstatt alle diese Dienste durchzusehen, können Sie den Befehl einfach ausgeben, wenn Sie den Namen des Dienstes kennen “SC \\ ** Computername ** Abfrage ** Dienstname **”

Dies wird mit dem aktuellen Status nur dieses Dienstes und sonst nichts zurückgegeben. Um einen Dienst aus der Ferne zu beenden, müssen Sie nur den Befehl stop ausgeben, “SC \\ ** Computername ** Stop ** Dienstname **”

Die Ausgabe zeigt den Status von “STOP-PENDING”, Wenn Sie diesen Dienst jedoch erneut abfragen, werden Sie nach wenigen Augenblicken feststellen, dass er nicht mehr ausgeführt wird. Sie können es starten, indem Sie denselben Befehl ausgeben, ihn aber ersetzen “halt” mit “Start”.

Erstellen eines Skripts für die Abfrage, Beenden oder Starten eines Dienstes

Okay, jetzt, da Sie die Grundlagen beherrschen, ist es an der Zeit, ein Skript zu schreiben, das jeden gewünschten Dienst anhält, ohne sich die genaue Befehlszeichenfolge merken zu müssen. Dazu können Sie ein vertrauenswürdiges Windows-Skript schreiben.

 

Wenn Sie dieses Skript ausführen, werden Sie nach dem Namen des Dienstes gefragt, den Sie beenden oder starten möchten.

Und dann, ob Sie den Dienst beenden oder starten möchten.

Verwendung der “>> c: \ temp \ results.txt” Befehl, gibt er die Stop- und Start-Ergebnisse und Fehler in eine Textdatei aus, mit der Sie prüfen können, ob der Befehl funktioniert hat.

Als ich das obige Skript ausgeführt habe, habe ich vor und nach dem Ausführen des Skripts eine kurze Abfrage des Dienstes durchgeführt.

Wie Sie sehen, wurde der Dienst, den ich gestoppt habe - helpvc - ausgeführt. Ich habe das Windows-Skript ausgeführt, um es zu stoppen, abzufragen und es wurde angehalten.

Wenn Sie wirklich ausgefallen sein möchten, können Sie dem Skript einen Abschnitt hinzufügen, der alle derzeit auf dem PC installierten Dienste in einer Textdatei ausgibt, die Sie überprüfen können, bevor Sie entscheiden, welcher Dienst beendet oder gestartet werden soll. Der Befehl dafür wäre “sc \\” & strComputer & ” Abfrage> c: \ temp \ services.txt”.

Wie Sie sehen, kann der SC-Befehl eine recht leistungsfähige und effiziente Methode zum Verwalten von Diensten auf jedem Computer sein. Wenn Sie mit Windows Scripting bereits ein wenig Talent haben, können Sie den Prozess sogar automatisieren, um Ihre Arbeit noch einfacher zu gestalten.

Denken Sie, dass der SC-Befehl für Sie nützlich sein könnte? Was ist mit einem automatisierten Skript, das den Befehl ausführt? Teilen Sie Ihre Ideen und Gedanken in den Kommentaren unten mit.

Bildnachweis: Shutterstock

Erfahren Sie mehr über: Computerwartung, Programmierung, Systemmonitor.