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!
























Michael Cordes sagt
am 22. Juni 2006 @ 13:35
Hallo,
danke für das Skript, leider ist das skript ja nur dafür, wenn jemand noch kein konfiguriertes Citrix hat.
Ich würde ein skript benötigen, dass einträge hinzufügt.
z.B. User 1 hat 5 Citrixanwendungen eingerichtet. Nun wird eine neue Anwendung am Server eingerichtet und der user 1 soll dieses auch noch bekommen. Die schon installierten 5 Citrixanwendungen sind mir als Admin jedoch nicht bekannt. Wenn ich die pn.ini ersetze sind jedoch alle 5 Citrixanwendungen weg und nur noch die neue Anwendung ist konfiguriert.
Leider habe ich selber keine Lösung hin bekommen.
Es ist zwar recht einfach die zusätzliche Konfiguration der pn.ini anzuhängen
“echo anwendung1.ini >> pn.ini”
Leider fehlt dann noch das Icon, dass direkt unter
“[Program Neighborhood]”
stehen muss.
Ich hoffe Sie haben schon eine Lösung.
Besten Dank.
Gruß
mc
flour sagt
am 7. Januar 2010 @ 12:03
Hallo
Bei mir werden die ini Dateien nicht erstellt?
Habe ich die faltsche acsr.exe?
Gruss
Mario sagt
am 8. Januar 2010 @ 12:22
Ich denke in diesem Fall kann die acsr.exe aufrund nicht vorhandener Schreibrechte die Dateien nicht erstellen.
Der User unter dem die acsr.exe gestartet wird, muss Schreibrechte auf den jeweiligen Speicherort haben.