@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.1 ECHO Letzte Aktualisierung: 28.09.2012 ECHO - REM ---------------------------------------------------------------------------------------- REM Definition der Variablen. SET ThinClient=%CD% SET RDSSrv01=192.168.0.1 IF "%1"=="" GOTO RDSSrv01_KeinParameterAufruf SET RDSSrv01=%1 :RDSSrv01_KeinParameterAufruf SET RDSSrv02=192.168.0.2 IF "%2"=="" GOTO RDSSrv02_KeinParameterAufruf SET RDSSrv02=%2 :RDSSrv02_KeinParameterAufruf SET RDSSrv03=192.168.0.3 IF "%3"=="" GOTO RDSSrv03_KeinParameterAufruf SET RDSSrv03=%3 :RDSSrv03_KeinParameterAufruf 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 ----------------------------------------------------------------------------------------