Windows Tools
Citrixserver Neustart
Jeder Citrix-Admin mit einem 24Stunden Betrieb kennt das Dilemma mit den notwendigen Citrix-Server Neustarts (Citrix kann nicht besser laufen wie die Applikationen die darauf gehostet werden).Diese Batch dient zum geplanten, geordneten Neustart von Citrixservern aus einer Farm.
- Zentrale Steuerung über einfache Textdatei (Server.txt)
- Anmeldesperrung des Citrixservers
- Benachrichtigung an die betroffenen Anwender alle 30 Minuten für 28 Minuten
- Beendigung der Sitzungen auf dem Citrixserver (Textdatei mit den nicht abgemeldeten Usern zur Auswertung)
- Robocopy start ohne der bekannten Probleme mit gesperrten Dateien
- Anmeldefreigabe des Citrixservers mit Neustart.
Verwendete Programme
- TSLogins.exe
- Freeware von Ctrl-Alt-Del IT Consultancy - TSSessionNfo.exe
- Freeware von Ctrl-Alt-Del IT Consultancy - TSLogoff.exe
- Freeware von Ctrl-Alt-Del IT Consultancy - ROBOCOPY.EXE
- Freeware Microsoft
Batch
citrix_neustart.bat
@color 0A @echo off cls rem ## Wochentag ermitteln FOR /F "tokens=1,2,3 delims=." %%a in ('echo %date%') do set yy=%%c & set mm=%%b & set dd=%%a set /a "TwoDigitYearMax=2038%%1000" if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%) set /a dd=100%dd%%%100,mm=100%mm%%%100 set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2 set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1 If %dow% equ 1 set "WoTa=Mo" If %dow% equ 2 set "WoTa=Di" If %dow% equ 3 set "WoTa=Mi" If %dow% equ 4 set "WoTa=Do" If %dow% equ 5 set "WoTa=Fr" If %dow% equ 6 set "WoTa=Sa" If %dow% equ 7 set "WoTa=So" rem ## WoTa = %WoTa% rem ## Welche Server sind betroffen FOR /F "tokens=1,2" %%i in ('findstr /I "%WoTa%" server.txt') DO call aktion.bat %%j %WoTa% rem ## Durchlauf beendet.
aktion.bat
set server=%1 set WoTa=%2 rem #### aktion.bat %server% %WoTa% rem ## Welche Aktionen um aktuelle Uhrzeit (Stunde) set h=%time:~0,2% if "%h%"==" 0" goto Sperren if "%h%"==" 1" goto Meldung if "%h%"==" 2" goto Meldung if "%h%"==" 3" goto Meldung if "%h%"==" 4" goto Meldung if "%h%"==" 5" goto Meldung if "%h%"==" 6" goto Neustart rem Keine Aktionen um diese Uhrzeit goto ENDE :Sperren rem ## Server %server% sperren TSLogins.exe /SERVER:%server% /OFF :Meldung rem ## Meldung an alle User des Servers %server% TSSessionNFO * /SERVER:%server% > %server%.txt FOR /F "tokens=4,*" %%i in ('find "Username Name" %server%.txt') DO Echo %%j FOR /F "tokens=4,*" %%i in ('find "Username Name" %server%.txt') DO msg %%j /SERVER:%server% /TIME:1740 Dieser Citrixserver wird um 06:00 beendet, bitte starten Sie Ihr System (PC/Igel) neu! goto ENDE :Neustart rem ## Neustart des Servers %server% TSSessionNFO * /SERVER:%server% > %server%.txt rem ## Alle Anwender vom Citrix beenden TSLogoff * /SERVER:%server% rem ## Robocopy fuer Siemens med starten robocopy.exe \\Master01\PC_Kunde \\%server%\PC_Kunde /R:3 /W:3 /MIR rem ## Anmeldung zulassen FOR /F "tokens=1,3" %%i in ('findstr /I "%WoTa% %server%" server.txt') DO TSLogins.exe /SERVER:%server% /ON rem ## Server Neustart shutdown /r /m \\%server% /d p:4:1 /c "Citrix-Server Wartung Neustart" goto ENDE :ENDE
Steuerungsdatei zur Citrixserver Abschaltung/Neustart
Syntax: | ||
Mo Server E | ||
Mo | = der entsprechende Wochentag wie Mo, Di, Mi, Do, Fr, Sa, So | |
Server | = der Server der gemeint ist | |
E | = Entsperrung des Servers (könnte nicht immer richtig sein [Update]) |
server.txt
Mo CTX01 E Di CTX02 E Mi CTX03 E Do CTX04 E Fr CTX05 E Sa So CTX01 E So CTX02 E So CTX03 E
Als Abfall entstehen Dateien über die Sessionen, die gesondert ausgewertet werden könnten.
%server%.txt
Process ALL Sessions on CTX04 server... TS Session ID: 0 TS Client Username Name: administrator TS WinStation Name: Console Warning: The User is on the console of the selected server. There is no more information. TS Session ID: 14 TS Client Username Name: station11 TS WinStation Name: ICA-tcp#134 TS Client Name: IGEL056 TS Client IP: 10.0.90.56 TS Application Name: #Desktop TS Initial Program: NONE TS Session ID: 8 TS Client Username Name: station12 TS WinStation Name: ICA-tcp#157 TS Client Name: MUEPC087 TS Client IP: 10.0.100.87 TS Application Name: #Stationsarbeitsplatz TS Initial Program: icast.exe h:\kkh\dll\wiwa0101.exe usw....
In diesem Beispiel muss noch der Taskplaner auf citrix_neustart.bat ab 00:05 bis 06:010 alle 30 Minuten eingerichtet werden, sollten andere Zeiten oder Abstände eingestellt werden muss die Batch angepasst werden.
Download
Download: | Größe: | Version: | Programm: | Datum: |
citrix-neustart.zip | 286 KByte | 1.00 | Citrix-Neustart + Programme |
28.02.2011 |