140 lines
6.9 KiB
Batchfile
140 lines
6.9 KiB
Batchfile
@ECHO OFF
|
|
TITLE DIGITAL DATA - Thin Client Steuerungsskript
|
|
|
|
ECHO Stapelverarbeitungsprogramm
|
|
ECHO ThinClient Steuerungsskript
|
|
ECHO -
|
|
ECHO Digital Data
|
|
ECHO Ludwig-Rinn-Strasse 16
|
|
ECHO 35452 Heuchelheim
|
|
ECHO Tel.: 0641 / 202360
|
|
ECHO E-Mail: info@didalog.de
|
|
ECHO -
|
|
ECHO Version 1.5
|
|
ECHO Letzte Aktualisierung: 30.07.2012
|
|
ECHO -
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
REM Definition der Variablen.
|
|
SET ThinClient=%CD%
|
|
SET RDSSrv01=192.168.0.1
|
|
SET RDSSrv02=192.168.0.2
|
|
SET RDSSrv03=192.168.0.3
|
|
SET DienstProgramm1Starten=1
|
|
SET DienstProgramm1Pfad="%ThinClient%"
|
|
SET DienstProgramm1Datei=ThinClient_UserLogin.cmd
|
|
SET DienstProgramm2Starten=0
|
|
SET DienstProgramm2Pfad="Pfad"
|
|
SET DienstProgramm2Datei=.exe
|
|
SET DienstProgramm3Starten=0
|
|
SET DienstProgramm3Pfad="Pfad"
|
|
SET DienstProgramm3Datei=.exe
|
|
SET IPTest=0
|
|
SET IPTest_Versuche=30
|
|
SET RDSTest=0
|
|
SET RDSTest_Versuche=30
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
if %DienstProgramm1Starten% == 1 ECHO Starte Hintergrund Dienstprogramm.
|
|
if %DienstProgramm1Starten% == 1 (start "DienstProgramm1" /D %DienstProgramm1Pfad% /min %DienstProgramm1Datei%)
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
if %DienstProgramm2Starten% == 1 ECHO Starte Hintergrund Dienstprogramm.
|
|
if %DienstProgramm2Starten% == 1 (start "DienstProgramm2" /D %DienstProgramm2Pfad% /min %DienstProgramm2Datei%)
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
if %DienstProgramm3Starten% == 1 ECHO Starte Hintergrund Dienstprogramm.
|
|
if %DienstProgramm3Starten% == 1 (start "DienstProgramm3" /D %DienstProgramm3Pfad% /min %DienstProgramm3Datei%)
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
:start_IPTest1
|
|
ECHO Ermittle ob lokaler PC/TC eine IP Adresse bezogen hat (Windows ab Vista).
|
|
if /I %IPTest% GEQ %IPTest_Versuche% goto shutdown_ungeplant
|
|
for /F "tokens=12,*" %%i in ('ipconfig^|find "IPv4-Adresse"') do SET IPAdresse=%%j
|
|
Ping -n 1 %IPAdresse%>NUL
|
|
if %ERRORLEVEL% == 0 ECHO IPv4-Eintrag gefunden. && goto start_RDSTest
|
|
if %ERRORLEVEL% == 1 (SET /a IPTest=%IPTest%+1) && ECHO Kein IPv4-Eintrag gefunden, ggf. ist dies ein Windows XP OS. && goto start_IPTest2
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
:start_IPTest2
|
|
ECHO Ermittle ob lokaler PC/TC eine IP Adresse bezogen hat (Windows bis XP).
|
|
if /I %IPTest% GEQ %IPTest_Versuche% goto shutdown_ungeplant
|
|
for /F "tokens=13,*" %%i in ('ipconfig^|find "IP-Adresse"') do SET IPAdresse=%%j
|
|
Ping -n 1 %IPAdresse%>NUL
|
|
if %ERRORLEVEL% == 0 ECHO IP-Eintrag gefunden, fahre fort. && goto start_RDSTest
|
|
if %ERRORLEVEL% == 1 (SET /a IPTest=%IPTest%+1) && goto start_IPTest1
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
:start_RDSTest
|
|
if %RDSTest% == %RDSTest_Versuche% goto shutdown_ungeplant
|
|
ECHO -
|
|
ECHO Starte Verbindungsversuch(e) zum RDS-Server(n).
|
|
ECHO -
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
ECHO Ermittle ob der erster RDS-Server erreichbar ist.
|
|
Ping -n 1 %RDSSrv01%>NUL
|
|
if %ERRORLEVEL% == 0 SET RDSSrv=%RDSSrv01% && ECHO Erster RDS-Server ist erreichbar. && goto connect_RDSSrv
|
|
if not %ERRORLEVEL% == 0 ECHO Erster RDS-Server ist nicht erreichbar.
|
|
ECHO -
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
ECHO Ermittle ob der zweiter RDS-Server erreichbar ist.
|
|
ping -n 1 %RDSSrv02%>NUL
|
|
if %ERRORLEVEL% == 0 SET RDSSrv=%RDSSrv02% && ECHO Zweiter RDS-Server ist erreichbar. && goto connect_RDSSrv
|
|
if not %ERRORLEVEL% == 0 ECHO Zweiter RDS-Server ist nicht erreichbar.
|
|
ECHO -
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
ECHO Ermittle ob der dritte RDS-Server erreichbar ist.
|
|
ping -n 1 %RDSSrv03%>NUL
|
|
if %ERRORLEVEL% == 0 SET RDSSrv=%RDSSrv03% && ECHO Dritter RDS-Server ist erreichbar. && goto connect_RDSSrv
|
|
if not %ERRORLEVEL% == 0 ECHO Dritter RDS-Server ist nicht erreichbar.
|
|
ECHO -
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
ECHO Es konnte keine Verbindung zu einem RDS-Server hergestellt werden.
|
|
if not %ERRORLEVEL% == 0 (SET /a RDSTest=%RDSTest%+1) && ECHO Wiederhole Verbindungsversuch(e) zum RDS-Server(n). && goto start_RDSTest
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
:connect_RDSSrv
|
|
ECHO Die Verbindung wird nun hergestellt.
|
|
%windir%\system32\mstsc.exe ThinClient.rdp /f /v: %RDSSrv%
|
|
ECHO Die Verbindung wurde beendet.
|
|
ECHO -
|
|
goto shutdown_geplant
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
:shutdown_geplant
|
|
ECHO Das System wird nun heruntergefahren.
|
|
"%windir%\system32\shutdown.exe" -s -t 0 /c "Die Sitzung auf dem RDS-Server wurde ordnungsgemäs beendet."
|
|
pause
|
|
exit
|
|
REM ----------------------------------------------------------------------------------------
|
|
|
|
REM ----------------------------------------------------------------------------------------
|
|
:shutdown_ungeplant
|
|
ECHO Das System wird nun aufgrund eines Fehlers heruntergefahren.
|
|
ECHO -
|
|
ECHO Der Test welcher ermittelt, ob der PC/TC eine IP Adresse besitzt,
|
|
ECHO zeigt %IPTest% Fehlversuch(e) auf, die maximale Toleranz liegt derzeit bei %IPTest_Versuche%.
|
|
ECHO -
|
|
ECHO Der Test welcher ermittelt, ob der PC/TC einen RDS-Server erreichen kann,
|
|
ECHO zeigt %RDSTest% Fehlversuch(e) auf, die maximale Toleranz liegt derzeit bei %RDSTest_Versuche%.
|
|
"%windir%\system32\shutdown.exe" -s -t 60 /c "Fehler: Netzwerkverbindung unterbrochen oder kein RDS-Server erreichbar. Bitte wenden Sie sich an Ihren Systemadministrator!"
|
|
ECHO -
|
|
pause
|
|
exit
|
|
REM ---------------------------------------------------------------------------------------- |