Verwaltungstool Um die Verwaltung des Servers nun auch Usern zu ermöglichen, die nun nicht so firm im Umgang mit Konsolenbefehlen haben, habe ich noch ein kleines Tool geschrieben, mit welchem der Homeserver verwaltet werden kann. Ursprünglich handelte es sich um eine Batch-Datei, die sich mit einem Editor öffnen ließ. Da aber auch Passwörter enthalten sind, habe ich sie mit einem Batch-Converter in eine EXE-Datei umgewandelt. Dafür habe ich den Bat To Exe Converter 1.4.1 verwendet, den man z.B. hier findet:
http://www.zdnet.de/kompilierer_und_interpreter_fuer_entwickler_unter_windows_ba
t_to_exe_converter_download-39002345-21406-2.htm Und nun zum Quellcode:
REM #####################################################################
REM # Auch wenn das hier nie jemand lesen soll: #
REM # Diese Datei ist nicht zum Lesen gedacht! ;-) #
REM # Erstelldatum: 14.01.2009 #
REM # Autor: siege (Call: 0900-UNDERSIEGE) #
REM # Tools: #
REM #
http://gammadyne.com/cmdline.htm#wol #
REM #
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html #
REM # sowie das Tool wait.exe #
REM #####################################################################
REM #### Ausschalten der Textausgabe ####
@ECHO OFF
REM #### Benennung des DOS-Fensters ####
TITLE Homeserver Management
REM #### Auswahlmenue ####
:MENUE
REM #### Fenster leeren ####
CLS
REM #### Farbe setzen ####
COLOR 8
REM #### Textausgabe ####
ECHO ##################################################################
ECHO # Homeserver Management Konsole #
ECHO # Revision 1.1 #
ECHO ##################################################################
ECHO.
ECHO Verfuegbare Optionen
ECHO ------------------------------
ECHO.
ECHO Serveroptionen:
ECHO.
ECHO 1: Homeserver starten
ECHO 2: Homeserver herunterfahren
ECHO 3: Homeserver neu starten
ECHO 4: Homeserver Erreichbarkeit ueberpruefen
ECHO 5: Homeserver Offene Verbindungen anzeigen
ECHO.
ECHO Verbindungsoptionen:
ECHO.
ECHO 6: Allgemeinen Datenspeicher als Laufwerk W: verbinden
ECHO 7: Persoenlichen Datenspeicher als Laufwerk U: verbinden
ECHO 8: Eigenen Rechnernamen anzeigen
ECHO.
ECHO 9: Management Konsole beenden
ECHO.
REM ##### Tastatureingabe Variable eingabe zuweisen #####
SET /p eingabe=Auswahl:
REM #### Auswertung der Eingabe ####
IF %eingabe% ==1 (GOTO :WOL)
IF %eingabe% ==2 (GOTO :CHECK)
IF %eingabe% ==3 (GOTO :CHECK)
IF %eingabe% ==4 (GOTO :STATUS)
IF %eingabe% ==5 (GOTO :CHECK)
IF %eingabe% ==6 (GOTO :DH)
IF %eingabe% ==7 (GOTO :PRI)
IF %eingabe% ==8 (GOTO :IP)
IF %eingabe% ==9 (GOTO :END)
GOTO :ERROR
REM ---------------- ENDE :MENUE -----------------
REM ############### Fehlerhafte Eingabe #######################
:ERROR
ECHO Die Eingabe ist ungueltig!
ECHO.
PAUSE
GOTO :MENUE
REM --------------- ENDE :ERROR ------------------
REM ############## WOL - Homeserver starten ###################
:WOL
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # Der Homeserver HOMESERVER wird nun gestartet #
ECHO # Bitte warten... #
ECHO # #
ECHO #################################################
WAIT 5
CLS
WOL MAC-ADRESSE HOMESERVER ohne :
WAIT 3
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # HOMESERVER wird gestartet #
ECHO # Wartezeit 20 Sekunden... #
ECHO # #
ECHO #################################################
WAIT 10
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # HOMESERVER wird gestartet #
ECHO # Wartezeit 10 Sekunden... #
ECHO # #
ECHO #################################################
WAIT 5
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # HOMESERVER wird gestartet #
ECHO # Wartezeit 5 Sekunden... #
ECHO # #
ECHO #################################################
WAIT 5
CLS
GOTO :MENUE
REM --------------- ENDE :WOL ------------------
REM ################## Prüfung auf verbundene Hosts ###########
:CHECK
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # Es wird geprueft, ob noch weitere Systeme #
ECHO # verbunden sind... #
ECHO # #
ECHO #################################################
WAIT 4
CLS
ECHO.
ECHO Falls eine Verbindungsabfrage erfolgt, muss diese bestaetigt werden...
ECHO.
plink.exe BENUTZER@HOMESERVER -ssh -l BENUTZER -pw PASSWORT smbstatus -S
ECHO.
PAUSE
ECHO.
ECHO Der Homeserver darf nur neu gestartet oder herunter gefahren werden,
ECHO wenn neben dem eigenen keine weiteren Rechner verbunden sind, da es
ECHO sonst zu Datenverlusten kommen kann.
ECHO Die Hostnamen finden sich unter "machines", der eigene Rechnername kann
ECHO im Menü über Punkt 8 ermittelt werden.
ECHO.
GOTO :CONNECT
REM --------------- ENDE :CHECK ------------------
REM #### Abfrage auf verbundene Rechner; bei reiner Verbindungsinfo zurück zum Menü ####
:CONNECT
IF %eingabe% ==5 (GOTO :MENUE)
REM Eingabe2 als Variable
SET /p eingabe2=Sind weitere Rechnernamen vorhanden (j/n):
REM Auswertung der Eingabe2
IF %eingabe2% ==j (GOTO :CANCEL)
IF %eingabe2% ==n (GOTO :CHOOSE)
ECHO.
ECHO Die Eingabe ist ungueltig!
ECHO.
PAUSE
GOTO :CONNECT
REM --------------- ENDE :CONNECT ------------------
REM #### Sicherheitsabfrage Reboot und Herunterfahren ####
:CHOOSE
CLS
ECHO.
ECHO Wenn Sie fortfahren, werden alle Verbindungen getrennt und der Homeserver
ECHO nicht mehr erreichbar sein.
SET /p eingabe3=Moechten Sie fortfahren (J/n)?
IF %eingabe3% ==n (GOTO :CANCEL)
IF %eingabe3% ==J (GOTO :DOIT)
ECHO.
ECHO Die Eingabe ist ungueltig! Achten Sie auch auf Gross- und Kleinschreibung!
ECHO.
PAUSE
GOTO :CHOOSE
REM --------------- ENDE :CHOOSE ------------------
REM #### Ausführen von Neustart oder Reboot ####
:DOIT
IF %eingabe% ==2 (GOTO :HALT)
IF %eingabe% ==3 (GOTO :IPL)
ECHO.
ECHO Programmfehler!
ECHO Bitte kontaktieren Sie Ihren Administrator!
ECHO Fehlercode 1: Befehl konnte nicht ausgeführt werden!
ECHO.
PAUSE
GOTO :MENUE
REM --------------- ENDE :HALT ------------------
REM #### Homeserver herunter fahren ####
:HALT
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # Der Homeserver HOMESERVER wird herunter #
ECHO # gefahren, wenn Abfrage mit j bestaetigt wird #
ECHO # #
ECHO #################################################
ECHO.
WAIT 1
plink.exe BENUTZER@HOMESERVER -ssh -l BENUTZER -pw PASSWORT sudo shutdown -h now
ECHO.
PAUSE
GOTO :MENUE
REM ! Damit bei shutdown keine sudo PW-Abfrage erfolgt, muss eine Anpassung erfolgen:
REM ! Ubuntu: sudo visudo
REM ! %gruppe(hier BENUTZER) ALL = NOPASSWD: /sbin/shutdown
REM !
http://wiki.ubuntuusers.de/sudo/Konfiguration REM --------------- ENDE :HALT ------------------
REM #### Funktionsabbruch ####
:CANCEL
ECHO.
ECHO Die Funktion wurde abgebrochen
ECHO.
PAUSE
GOTO :MENUE
REM --------------- ENDE :CANCEL ------------------
REM #### Neustart des Homeservers ####
:IPL
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # Der Homeserver HOMESERVER wird nun neu ge- #
ECHO # startet, wenn Abfrage mit j bestaetigt wird #
ECHO # #
ECHO #################################################
ECHO.
WAIT 1
plink.exe BENUTZER@HOMESERVER -ssh -l BENUTZER -pw PASSWORT sudo reboot
ECHO.
PAUSE
GOTO :MENUE
REM ! Damit bei reboot keine sudo PW-Abfrage erfolgt, muss eine Anpassung erfolgen:
REM ! Ubuntu: sudo visudo
REM ! %gruppe(hier BENUTZER) ALL = NOPASSWD: /sbin/reboot
REM !
http://wiki.ubuntuusers.de/sudo/Konfiguration REM --------------- ENDE :IPL ------------------
REM ############# Status Homeserver prüfen ####################
:STATUS
CLS
ECHO Es wird geprueft, ob der Homeserver HOMESERVER erreichbar ist...
ECHO.
plink.exe BENUTZER@HOMESERVER -ssh -l BENUTZER -pw PASSWORT echo HOMESERVER steht zur Verfuegung!
ECHO.
PAUSE
GOTO :MENUE
REM --------------- ENDE :STATUS ------------------
REM #### BENUTZER als W: einbinden ####
:DH
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # Das allgemeine Datenarchiv wird nun als #
ECHO # Laufwerk W: bereit gestellt #
ECHO # #
ECHO #################################################
ECHO.
WAIT 1
NET USE W: \\HOMESERVER\BENUTZER PASSWORT2 /USER:BENUTZER2
PAUSE
GOTO :MENUE
REM --------------- ENDE :DH ------------------
REM #### BENUTZER2 als U: einbinden ####
:PRI
CLS
ECHO.
ECHO #################################################
ECHO # #
ECHO # Das private Datenarchiv wird nun als #
ECHO # Laufwerk U: bereit gestellt #
ECHO # #
ECHO #################################################
ECHO:
WAIT 1
NET USE U: \\HOMESERVER\BENUTZER2 PASSWORT2 /USER:BENUTZER2
PAUSE
GOTO :MENUE
REM --------------- ENDE :PRI ------------------
REM ################# eigenen Rechnernamen ausgeben ###########
:IP
CLS
ECHO Der eigene Rechnername findet sich unter "Hostname":
ECHO.
IPCONFIG /ALL
ECHO.
PAUSE
GOTO :MENUE
REM --------------- ENDE :IP ------------------
REM #### Programm beenden ####
:END
CLS
ECHO.
ECHO Konsole wird geschlossen
ECHO.
PAUSE
exit
REM --------------- ENDE :END ------------------