Citrix Clienteinstellungen per Batchdatei
Wer in einem Netzwerk mit Citrix Metaframe Server arbeitet, kennt sicher das Thema Erstkonfiguration des Clients. Meldet sich ein Benutzer zum ersten Mal an einem Rechner an, reicht es nicht aus, dass der Citrix Client installiert ist. Die Grundkonfiguration des Clients (Server, Farbtiefe, Benutzerdaten) befinden sich in .ini Dateien unter den Dokumenten des jeweiligen Users.
Sind nur wenige Clients vorhanden, kann man das sicher schnell selber erledigen, oder den Usern einmalig erklären. In einem größeren Netzwerk ist das ein schlechtes Unterfangen.
Basierend auf dem Artikel “Citrix Win32 Client – Verbindungen automatisch erstellen” unter tsfaq.de habe ich folgende Anleitung verfasst. Dabei wurde die Batchdatei soweit vervollständigt, dass diese ohne Probleme ins Loginscript eingebaut werden kann. Es findet eine Überprüfung statt, ob die Einstellungen bereits durchgeführt sind, dadurch werden keine Usereinstellungen überschrieben.
Anleitung:
Zuerst sollte ein Rechner gesucht werden, auf dem der Citrixclient vollständig eingerichtet ist, um einige Dateien zu kopieren die wir später brauchen. Bei Microsoft Windows 2000 und Microsoft Windows XP befinden sich die gesuchten Files unter C:\Dokumente und Einstellungen\User\Anwendungsdaten\ICAClient.
Für den automatischen Kopiervorgang benötigen wir eine Freigabe, die von allen Clientsystemen aus erreicht werden kann. Im günstigsten Fall auf dem/einem Active Domaincontroller. In meinem Beispiel lautet die Freigabe “ICAClient_Autoinstall”, ist versteckt und für jeden lesbar.
Nun kopieren wir den Ordner ICAClient in die Freigabe. Als nächstes müssen wir 2 .ini Dateien mit dem Texteditor öffnen und anpassen. Beginnen wir mit der Datei Appsrv.ini. In den Zeilen
LogFileWin32=C:\Dokumente und Einstellungen\User\Anwendungsdaten\ICAClient\wfcwin32.log
PersistentCachePath=C:\Dokumente und Einstellungen\User\Anwendungsdaten\ICAClient\Cache
User mit #LOKALUSER# ersetzen. Danch die Datei pn.ini öffnen und die Zeile
Username=User in Username=#LOGINNAME# ändern.
User ist ein von mir eingefügter Platzhalter, dort steht der Originalbenutzer von dem die Dateien kopiert wurden! Zum Schluss beide Files abspeichern und von .ini in .ori umbenennen. Um Änderungen während des Scripts in den Dateien durchführen zu können, benötigen wir die Datei acsr.exe vom Metaframe Server. Diese ebenfalls in den Freigabeordner kopieren.
Jetzt kann die Batchdatei erstellt werden. Eine mögliche Variante sieht so aus:
@ECHO OFF
REM Testen ob Citrix Client bereits eingestellt ist
IF NOT EXIST "C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\ICAClient\Appsrv.ini" GOTO INSTALLICAClient
IF EXIST "C:\Dokumente und Einstellungen\%username%\Anwendungsdaten\ICAClient\Appsrv.ini" GOTO ENDE
:INSTALLICAClient
REM Freigabe an Laufwerk O: mappen - $ bei versteckter Freigabe - Server ersetzen!
net use O: \\Server\ICAClient_Autoinstall$
c:
cd\
cd "C:\Dokumente und Einstellungen\%username%\Anwendungsdaten"
REM Die benötigten Dateien werden auf den Rechner kopiert
copy O:\acsr.exe C:\
Xcopy O:\ICAClient\*.* ICAClient\ /E /S /Y
cd ICAClient
REM Appsrv.ini anpassen
REM acsr = suche #LOKALUSER# in Datei ..\Appsrv.ori ersetze ihn durch %Username% und schreibe Appsrv.tmp
c:\acsr "#LOKALUSER#" "%UserName%" Appsrv.ori Appsrv.tmp
c:\acsr "#LOGINNAME#" "%UserName%" Appsrv.tmp Appsrv.ini
REM pn.ori anpassen
REM acsr = suche #LOKALUSER# in Datei ..\pn.ori ersetze ihn durch %Username% und schreibe pn.tmp
c:\acsr "#LOKALUSER#" "%UserName%" pn.ori pn.tmp
c:\acsr "#LOGINNAME#" "%UserName%" pn.tmp pn.ini
REM Löschen von ACSR.EXE
del C:\acsr.exe
REM Laufwersverknüpfung lösen
net use o: /delete /yes
:ENDE
oder als Download: ICA Clienteinstellungen per Batchdatei (von mir eingesetzt). Die kurzen Kommentare sollten als Erläuterung reichen
Ich habe das ganze in ein Loginscript integriert, welches unter Windows 2000 und XP ohne Probleme ausgeführt wird. Bleibt als ToDo das ganze noch auf Windows 98 zu migrieren und die automatische Installation des ICA Clients per Parameter voran zu basteln. Mal sehen wann ich Zeit dafür habe.
Anmerkungen und Änderungsvorschläge willkommen!
