automatisch & remote Windows Dienste steuern
26.05.2011
Es scheint die Woche “Jeden Tag ein Script” zu sein … heute gibt es eins, mit dem man remote Windows-Dienste steuern und überwachen kann. In großen Unternehmen gibt es dafür Managementsuiten (z.B. CA Unicenter oder MS System Center), die die Clients überwachen (Software, Dienste, Prozesse, Nutzer). Leider kosten die Suiten viel Geld, bedürfen der Pflege und der Schulung ihrer Benutzer.
In Sachsen wird in öffentlichen Einrichtungen gern Sophos Antivirus eingesetzt, da es eine Landeslizenz dafür gibt. Ja, auch ich setzen auf Arbeit Sophos ein … leider ist die Enterprise Console nicht so der Hit und ich habe mir ein kleines Batch Script geschrieben, dass remote gezielt diese Sophos Dienste überwacht, beendet oder neustartet.
Es ist natürlich ein Leichtes dies auf andere Dienste zu adaptieren, deswegen erspare ich mir die Verallgemeinerung und belasse es bei den Sophos Diensten.
Das Script läuft stabil unter Windows XP SP3, unter Windows Vista oder Windows 7 habe ich es nie getestet. Ob es das Kommando “sc” noch unter den aktuellen Windows Versionen gibt weiß ich leider nicht.
@ECHO OFF REM v0.2c @ 19.09.08 REM by Simn Gude REM Dieses Script überprüft eine bestimmte IP auf laufende Sophos Dienste. REM Zudem kann diese Script diese Dienste ggf. remote neu starten. :VARIABLE REM Variablen definieren SET Admin_Name=0000000 SET INPUT=0000000 SET INPUT2=0000000 SET INPUT_IP=0000000 SET HEADER=......................................................... SET TITEL=.............................. SOPHOS DIENSTE MANAGER ... SET FOOTER=..v0.2c.................................................. verify on :START TITLE SOPHOS DIENSTE MANAGER CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. ECHO Dieses Script testet die Sophos-AV Dienste auf ECHO einem PC und startet diese gegebenenfalls neu. ECHO. :INPUT_1 REM erwartet die Eingabe für das Hauptmenü SET INPUT=0000000 ECHO [1] PC auf Sophos Dienste testen ECHO [2] Sophos Dienste neu starten ECHO [3] Programm als Admin neu starten ECHO [4] Programm beenden ECHO. SET /P INPUT="INPUT: " IF "%INPUT%" == "0000000" (GOTO START) :INPUT_1_2 REM wertet die Eingabe aus IF "%INPUT%" == "1" (GOTO CHECK_1) IF "%INPUT%" == "2" (GOTO DIENSTE) IF "%INPUT%" == "3" (GOTO ADMIN) IF "%INPUT%" == "4" (GOTO ENDE) IF NOT "%INPUT%" == "2" (GOTO START) :ADMIN REM Setz Variable für Admin Namen zurück und versucht das Script in Admin Kontext zu starten SET Admin_Name=0000000 ECHO. ECHO. SET /P Admin_Name="Bitte geben Sie den Namen des Admin Account ein (z.B. Domaene\Admin): " IF "%Admin_Name%" == "0000000" (GOTO LOGIN_ERROR) ECHO. runas /user:%Admin_Name% "%cd%test.cmd" IF %ERRORLEVEL%==0 (GOTO ENDE) IF NOT %ERRORLEVEL%==0 (GOTO LOGIN_ERROR) :LOGIN_ERROR TITLE SOPHOS DIENSTE MANAGER CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. ECHO Anmeldung mit dem Administrator Account fehlgeschlagen! ping 127.0.0.1 -n 3 > nul GOTO START :CHECK_1 REM erwartet die Eingabe der IP-Adresse und wertet das Ergebnis aus TITLE SOPHOS DIENSTE MANAGER CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. SET /P INPUT_IP="Bitte geben Sie eine IP ein (z.B. 192.168.100.14): " IF "%INPUT_IP%" == "0000000" GOTO CHECK_1 :CHECK_2 REM Die Dienste werden für die IP gecheckt - funktioniert nur, REM wenn man auf dem Zielcomputer auf Admin-Rechte besitzt (ADS). TITLE SOPHOS DIENSTE MANAGER CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. ECHO --------------------------------------------------- ECHO MOMENTANER ZUSTAND DER DIENSTE AUF %INPUT_IP% ECHO --------------------------------------------------- sc \\%INPUT_IP% query SAVService sc \\%INPUT_IP% query SAVAdminService sc \\%INPUT_IP% query "Sophos AutoUpdate Service" ECHO. ECHO. PAUSE GOTO VARIABLE :DIENSTE REM erwartet die Eingabe für das Untermenü und wertet diese aus SET INPUT2=0000000 SET INPUT_IP2=0000000 TITLE SOPHOS DIENSTE MANAGER CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. ECHO Welchen Dienst wollen Sie neu starten? Es wird vorher ECHO versucht, den Dienst zu stoppen und danne erneut zu ECHO starten ... bitte uerberpruefen Sie das Ergebnis! ECHO. ECHO. ECHO [1] Sophos OnAccess ECHO [2] Sophos Remote Admin ECHO [3] Sophos AutoUpdate ECHO [4] Hautpmenue ECHO. SET /P INPUT2="INPUT: " IF "%INPUT2%" == "1" (GOTO ONACCESS) IF "%INPUT2%" == "2" (GOTO REMOTE) IF "%INPUT2%" == "3" (GOTO AUTO) IF "%INPUT2%" == "4" (GOTO VARIABLE) IF "%INPUT2%" == "0000000" (GOTO DIENSTE) :ONACCESS REM erwartet die Eingabe der IP-Adresse und wertet das Ergebnis aus TITLE SOPHOS DIENSTE MANAGER - ONACCESS Dienst CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. SET /P INPUT_IP2="Bitte geben Sie eine IP ein (z.B. 192.168.100.14): " IF "%INPUT_IP2%" == "0000000" (GOTO ONACCESS) :ONACCESS_2 REM versucht den Dienst zu stoppen, zu starten und gibt dann das Ist-Ergbnis aus ECHO. ECHO -------------------------------------------------- ECHO VERSUCHE DEN DIENST AUF %INPUT_IP2% ZU STOPPEN ECHO -------------------------------------------------- sc \\%INPUT_IP2% stop SAVService ECHO. ECHO wartet ca. 15 Sekunden auf Beendigung des Dienstes ... ping 127.0.0.1 -n 15 >nul ECHO -------------------------------------------------- ECHO VERSUCHE DEN DIENST AUF %INPUT_IP2% ZU STARTEN ECHO -------------------------------------------------- sc \\%INPUT_IP2% start SAVService ECHO. ECHO -------------------------------------------------- ECHO MOMENTANER ZUSTAND DES DIENSTES AUF %INPUT_IP2% ECHO -------------------------------------------------- sc \\%INPUT_IP2% query SAVService ECHO. ECHO. PAUSE GOTO DIENSTE :REMOTE REM erwartet die Eingabe der IP-Adresse und wertet das Ergebnis aus TITLE SOPHOS DIENSTE MANAGER - RemoteAdmin Dienst CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. SET /P INPUT_IP2="Bitte geben Sie eine IP ein (z.B. 192.168.100.14): " IF "%INPUT_IP2%" == "0000000" (GOTO REMOTE) :REMOTE_2 REM versucht den Dienst zu stoppen, zu starten und gibt dann das Ist-Ergbnis aus ECHO. ECHO -------------------------------------------------- ECHO VERSUCHE DEN DIENST AUF %INPUT_IP2% ZU STOPPEN ECHO -------------------------------------------------- sc \\%INPUT_IP2% stop SAVAdminService ECHO. ECHO wartet ca. 15 Sekunden auf Beendigung des Dienstes ... ping 127.0.0.1 -n 15 >nul ECHO -------------------------------------------------- ECHO VERSUCHE DEN DIENST AUF %INPUT_IP2% ZU STARTEN ECHO -------------------------------------------------- sc \\%INPUT_IP2% start SAVAdminService ECHO. ECHO -------------------------------------------------- ECHO MOMENTANER ZUSTAND DES DIENSTES AUF %INPUT_IP2% ECHO -------------------------------------------------- sc \\%INPUT_IP2% query SAVAdminService ECHO. ECHO. PAUSE GOTO DIENSTE :AUTO REM erwartet die Eingabe der IP-Adresse und wertet das Ergebnis aus TITLE SOPHOS DIENSTE MANAGER - AutoUpdate Dienst CLS ECHO. ECHO %HEADER% ECHO %TITEL% ECHO %FOOTER% ECHO. ECHO. SET /P INPUT_IP2="Bitte geben Sie eine IP ein (z.B. 192.168.100.14): " IF "%INPUT_IP2%" == "0000000" (GOTO AUTO) :AUTO_2 REM versucht den Dienst zu stoppen, zu starten und gibt dann das Ist-Ergbnis aus ECHO. ECHO -------------------------------------------------- ECHO VERSUCHE DEN DIENST AUF %INPUT_IP2% ZU STOPPEN ECHO -------------------------------------------------- sc \\%INPUT_IP2% stop "Sophos AutoUpdate Service" ECHO. ECHO wartet ca. 15 Sekunden auf Beendigung des Dienstes ... ping 127.0.0.1 -n 15 >nul ECHO -------------------------------------------------- ECHO VERSUCHE DEN DIENST AUF %INPUT_IP2% ZU STARTEN ECHO -------------------------------------------------- sc \\%INPUT_IP2% start "Sophos AutoUpdate Service" ECHO. ECHO -------------------------------------------------- ECHO MOMENTANER ZUSTAND DES DIENSTES AUF %INPUT_IP2% ECHO -------------------------------------------------- sc \\%INPUT_IP2% query "Sophos AutoUpdate Service" ECHO. ECHO. PAUSE GOTO DIENSTE :ENDE REM Ende EXIT
Dieses Script erhebt keinen Anspruch auf Richtigkeit und Vollständigkeit. Auf die technische Funktion wird keine Gewähr übernommen. Alle Informationen sind nach bestem Wissen und Gewissen erstellt.
Wenn es Fragen gibt, stehe ich natürlich gern zur Verfügung.
Flattr
Twitter
Google+
Facebook


