Access

CTX-Blog

powered by Ecki's Place

17. October, 2010

Fehlendes XML File für Offline-Plugin 6.0.1 für den Merchandising Server

Wer bereits den Merchandising Server einsetzt, wird vermutlich ebenfalls über folgendes Problem gestolpert sein.

Citrix bietet ein Update für das Offline-Plugin an, welches 45 Fehler behebt. Als normaler Download steht das Update 6.0.1 seit einiger Zeit zur Verfügung. Wer aber im Merchandising Server das aktuelle Plugin sucht, wird es nicht finden. Auch eine manuelle Aktualisierung findet das Update nicht 🙁

Der Grund liegt in einem fehlenden XML-File, welches der Merchandising Server verwendet, um die Installation und Konfiguration zu steuern. Es sieht leider nicht so aus, als ob Citrix das fehlende File irgendwann selbst bereitstellen würde, s. Citrix Blog: App Streaming-6.0.1 LCM Update

Ich habe mir daher die folgenden Ressourcen genauer angesehen:

Citrix-TV
Citrix eDocs
Metadata Reference

und anschliessend mein eigenes XML File erstellt.

Um euch die Arbeit zu ersparen, stelle ich es hier zum download bereit: XenAppStreamingMetaData.xml

Im Merchandising Server lässt sich das aktuelle Offline-Plugin und das aktualisierte XML-File manuell hochladen und dann via Deliveries wie gewohnt verteilen 🙂

Warum Citrix dieses File nicht selbst zur Verfügung stellt, wird wohl ihr Geheimnis bleiben. Grundsätzlich stellt dieses Verhalten jedoch die Nützlichkeit des an sich guten Gedankens des Merchandising Server stark in Frage. Ich hoffe, Citrix wird seine Update Politik für Merchandising Server nochmal überdenken und ALLE Updates auch auf dieser Plattform verfügbar machen…

Gruss
Ecki

11. July, 2010

32bit Icon Option fehlt in den XenApp Farm Eigenschaften

Ich bin vor kurzem über ein sehr seltsames Verhalten der Citrix AMC gestolpert, bei der die Option für 32bit Icon Support nicht angezeigt wurde, obwohl alle Prerequisites installiert waren. Nur durch einen Zufall sind wir auf die Lösung gekommen.

Das Problem betrifft alle XenApp Versionen die ich testen konnte, einschliesslich Presentation Server 4.5 und XenApp 5.0, sowohl für W2k3 als auch für W2k8.

Das Problem zeigt sich folgendermassen. In den Eigenschaften der Farm ist der Platz, an dem die 32bit Icon Option stehen sollte leer. Die Option für 32bit Icons ist daher nicht verfügbar 🙁

Kein 32bit Icon Support in der AMC

Der Verursacher dieses Phänomens ist tatsächlich eine Konfiguration beim Farm-Discovery. Ich verwende gelegentlich LOCALHOST in der Liste der für das Discovery zu verwendenden Server. So funktioniert das Discovery immer, auch bei Roaming Profiles und XenApp Servern ohne IIS Installation.

Ist das Discovery folgendermassen konfiguriert, verschwindet die 32bit Icon Option aus der AMC:

Konfiguriert mit LOCALHOST

Wird dagegen wieder der lokale Server beim Discovery verwendet,

Konfiguriert mit "Local Server"

erscheint wie durch ein Wunder die vermisste Option wieder in den Farm Eigenschaften.

32bit Icon Support verfügbar

Man kann das Verhalten jederzeit problemlos reproduzieren. Zugegebenermassen ist das nicht unbedingt ein alltägliches Problem, aber seltsam ist das Verhalten schon und wenn ihr in Zukunft mal darüber stolpert, seid ihr gewarnt…

Gruss
Ecki

21. October, 2008

SmartCard Single Sign On mit PNAgent

Alle verfügbaren Dokumentationen zum Thema “Single Sign On” oder “Credential passthrough” mit SmartCard und Citrix Clients beschränkt sich leider auf den Gebrauch der Program Neighborhood, wie folgende Anleitung von Brianmadden beispielhaft zeigt. Diesen Client setze ich bei Kundenprojekten aber seit Jahren nur noch in Ausnamefällen ein. Statt dessen verwende ich meistens den PNAgent, oder den Web Client.

Diese Clients entzogen sich aber bisher dem Passthrough der SmartCard PIN, da sie die APPSRV.INI ignorierten und daher die notwendigen Einstellungen nicht übernahmen.

Seit dem 10.0er Client findet sich im Installationsverzeichnis jedes Citrix Clients eine Datei “icaclient.adm”, ein Active Directory Group Policies Template, das die benötigten Optionen enthält. Seit dem Release 10.0 überprüft jeder ICA Client zuerst, ob eine entsprechende Policy konfiguriert wurde und übernimmt dann diese Einstellungen aus der Registry. Die Datei APPSRV.INI fungiert nur noch als Fallback, wenn keine Policy existiert. Dieses neue Client Feature ermöglicht nun endlich ein “Single Sign On” mit SmartCard und PNAgent.

Hier in Kürze die Schritte, die es dafür benötigt:

1. Auf dem Presentation Server /XenApp Server

  • Überprüfen, ob ein Login auf einen Desktop mittels SmartCard generell funktioniert. Für SmartCard-Passthrough muss in den Server-Eigenschaften die Option “Trust requests sent to the XML Service” aktiviert sein.

2. Auf dem Web Interface Server

  • Hier muss SSL aktiviert (ein Web Server Zertifikat installiert) und das “Directory Service Mapping” aktiviert sein. Diese Option findet sich im IIS Manager unter den Eigenschaften des “Web Sites” Ordners:
  • Web Sites EigenschaftenDirectory Service Mapper

  • In der Access Suite Management Console muss die PNAgent Web Site unter “Configure Authentication” auf “Smart Card with Passthrough” konfiguriert werden.

3. Registry

  • Überprüfen, ob unter HKLM\System\CurrentControlSet\Control\TerminalServer\WinStations\ICA-tcp der Wert UseDefaultGina auf 0 gesetzt ist (1 schaltet die CtxGina ab).

4. Active Directory Policy

  • Import des ADM Templates in eine beliebige Policy
  • Im User Teil der Policy müssen folgende Einstellungen gesetzt sein:
  • Citrix Policy

  • <PolicyName>\User Configuration\Administrative Templates\Citrix Components\Presentation Server Client\User Authentication\Smart Card Authentication muss “Enabled” werden und “Allow Smart Card Authentication” und “Use pass-through authentication for PIN” müssen aktiviert werden.
  • Alle weiteren Optionen bleiben unkonfiguriert, vorausgesetzt es sollen nur SmartCard Logins konfiguriert werden.

Jetzt sollte einem “Single Sign On” mit SmartCard und PNAgent nichts mehr im Wege stehen 😀

Diese Anleitung gilt leider nur für Windows XP und Server 2003. Vista und 2008 Server sind hier momentan explizit ausgenommen, da aktuell kein Citrix Client, einschliesslich 11.0, in der Lage ist, die SmartCard PIN unter diesen OS weiterzureichen 🙁

Hier noch ein paar interessante weiterführende Links:

Gruss
Ecki

18. June, 2008

IE Kiosk Mode

Ich musste gerade bei einem Kunden dafür sorgen, dass der Internet Explorer ohne Navigationsleisten und sonstige Benutzerschnittstellen startet, um eine browserbasierte Applikation zum SmartCard Rollout zu veröffentlichen. Die Suche nach einer Lösung gestaltete sich hierbei schwieriger als erwartet.

Der häufigste Ansatz, den Google bei einer entsprechenden Anfrage ausspuckte, war der eingebaute “Kiosk Mode” des Internet Explorers. Der Modus wird durch den Aufruf des IE mit dem Parameter -k aktiviert, s. http://support.microsoft.com/kb/154780. Dieser Modus versetzt den IE in den Vollbild Modus, blendet aber, im Gegensatz zum Tastendruck F11, die Symbolleisten komplett aus. Ein Beenden des IE ist dann nur noch über Alt. + F4 möglich und auch die sonstige Bedienung beschränkt sich ausschliesslich auf Tastenkürzel. Eine eher endkundenuntaugliche Variante 🙁

Der nächste Ansatz waren Microsoft Group Policies, aber auch hier gab es zu viele Einschränkungen und Probleme. So lassen sich die Symbolleisten des IE nicht komplett per Policy ausblenden, sondern nur einzelne Icons, was wiederum Anpassungen in der Registry unter HKCU notwendig gemacht hätte, um die Symbolleisten komplett zu entfernen. Hier gehen die ansonsten ausufernden IE Policies eindeutig nicht weit genug 🙁

Die Lösung kam in Form einen VBS Objekts. Der Internet Explorer lässt sich über VBS ansprechen und steuern. Dies gab mir die Möglichkeit, auch das Erscheinungsbild des Browsers soweit anzupassen, dass sämtliche Steuerelemente ausgeblendet werden können, ohne wichtige Funktionen zu beeinträchtigen. Mit dem folgenden Code lässt sich nun ein IE mit einer vordefinierten URL starten und ein Ausbruch aus dieser Umgebung ist deutlich erschwert 🙂

DIM IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://das.ist.die.anzuzeigende.url"
IE.Visible=True
IE.Toolbar=no
IE.Menubar=no
IE.Statusbar=no
IE.Width=750
IE.Height=600
IE.Resizable=yes
'IE.Top=5
'IE.Left=5

Auf den Eintrag IE.Navigate folgt hierbei die aufzurufende URL, wobei die gesamte URL in Anführungszeichen gesetzt sein muss. Optionale Parameter sind die Fenstergrösse (IE.Width/IE.Height) und die Position des Fensters auf dem Desktop (IE.Top/IE.Left).

IE Kiosk Mode

Das Script funktioniert sowohl unter Windows XP als auch 2003 Server problemlos. Unter Vista und 2008 Server sind Administrator Rechte notwendig, um den gewünschten Effekt zu erzielen!

Gruss
Ecki

22. November, 2007

Wie kann die Sprache des ICA Clients geändert werden

Während der Installation kann der User seine bevorzugte Sprache für den ICA Client Version 10.x und höher, über einen Dialog auswählen.

Wenn die Sprache jedoch später geändert werden muss, kann dies einfach über die Kommandozeile gemacht werden.Dazu muss eine Eingabeaufforderung geöffnet werden und zum ICA Clientverzeichnis gewechselt werden. Der Befehl

Wfica32.exe /UserUILocale

cmd.exe

führt zur Anzeige einer Dialogbox, über die die benötigte Sprache ausgewählt und hinzugefügt werden kann.

MUI Einstellungen

Die Sprache die hier an erster Stelle steht, wird nun zur Anzeige der Client GUI verwendet.

Gruss
Ecki

21. July, 2007

Web Interface 4.6 für Windows verfügbar

Seit Gestern steht bei Citrix das neue Web Interface 4.6 zum Download bereit. Diese Version ist Voraussetzung für einige neue Features und Verbesserungen, die mit dem Rollup Pack 01 für Presentation Server 4.5 eingeführt wurden.

Vor der Installation des Web Interfaces 4.6 muss zwingend die AMC (Access Management Console für Presentation Server 4.5) aktualisiert werden, da das Update sonst fehl schlägt. Die aktuelle AMC kann hier heruntergeladen werden.

Der Download des Web Interface 4.6 und weitere Informationen sind hier zu finden.

Gruss
Ecki

Erstes Hotfix Rollup Pack für Presentation Server 4.5 verfügbar

Seit dem 19.07. steht bei Citrix das erste Hotfix Rollup Pack für Presentation Server 4.5 zur Verfügung. Neben einer ganzen Reihe von Fehlerbehebungen wurde vor allem die Office 2007 Integration verbessert. Weitere Neuigkeiten sind:

  • Microsoft Windows Vista/Office 2007 Compatibility Updates
  • Verbesserte Unterstützung für High Color (16-, 32-, and 48-bit) Icons
  • Microsoft Office Live Preview Support

Einige der Verbesserungen setzen mindestens den aktuellen Client 10.100 voraus. Ein Update der Client Installation ist daher ebenfalls anzuraten.

Der Download und weitere Informationen sind hier zu finden.

Gruss
Ecki

17. July, 2007

LANMANServer und LANMANWorkstation Tuning

Bei Brian Madden bin ich auf ein sehr interessantes Dokument zum Thema Terminal Server Tuning gestossen. In diesem Artikel werden sämtliche relevanten LANMANServer und LANMANWorkstation Parameter und Registry Keys vorgestellt und erkärt, die in diesem Zusammenhang von Bedeutung sind.

Anschliessend werden mögliche Optimierungsmassnamen und deren Risiken besprochen und sogar ein ADM Template zur Verfügung gestellt, mit dem sich die besprochenen Optimierungen via GPO umsetzen lassen.

Der vollständige Artikel kann hier nachgelesen werden.

Gruss
Ecki

05. July, 2007

Zugriffe via RDP-Protokoll steuern

Best Practice im Citrix Umfeld ist es, Usern, die auf einen Presentation Server zugreifen dürfen, den Zugriff via RDP-Protokoll zu verweigern, da hier u. A. die Citrix Policies nicht ziehen. Das standardmässig von Microsoft vorgeschlagene Vorgehen, den Zugriff auf die Terminalserver durch die lokale Gruppe “Remote Desktop Users” zu steuern funktioniert dann allerdings nicht mehr. Es muss statt dessen eine eigene Gruppe erstellt und gepflegt werden, die den Zugriff über das ICA Protokoll steuern kann. Ich nenne diese Gruppe in unserem Beispiel “CTX_User”. Damit Mitglieder dieser Gruppe auf einen Presentation Server zugreifen können, müssen zwei Bedingungen erfüllt sein.

1. Berechtigung auf dem ICA Protokoll
Screenshot - ICA-Protokoll

2. Das Recht “Log on through terminal services”, etweder lokal, oder besser verteilt via GPO
Screenshot - Policy

Dies gilt für Windows Server 2003. Bei Windows Server 2000 wird das Recht “Log on localy” benötigt. Dabei ist zu beachten, dass bei Aktivierung dieser Policy alle Gruppen referenziert werden müssen, die später in irgendeiner Form via Terminal Services auf den Server verbinden dürfen. Fehlt ein User, oder eine Gruppe in dieser Auflistung, erscheint sonst bei einem Anmeldeversuch folgende Fehlermeldung:
Screenshot - Logon Error

Ein weiterer Tipp an dieser Stelle: Idealerweise verbietet man das Ressource Mapping auf dem RDP Protokoll zumindest für Drucker so früh wie möglich, um das Einschleppen von Druckertreibern zu verhindern. Da normalerweise nur Administratoren via RDP verbinden, die über genügend Rechte zum Installieren von Treibern verfügen, werden sonst alle lokalen Drucker auf dem Terminalserver installiert, was schnell zu einem Wildwuchs in der Treiberlandschaft führt. Weiter Ressourcen können nach Belieben ebenfalls schon hier geblockt werden, s. Screenshot:
Screenshot - RDP-Protokoll

Diese Tasks lassen sich, wie weiter Oben gesehen, bequem über die GUI erledigen. Dies ist jedoch sehr mühsam, wenn man 50+ Server zu betreuen hat. Hier hat Marcel Göertz aus den Niederlanden einen sehr interessanten Artikel verfasst, wie diese Aufgabenstellung mittels WMI viel eleganter zu lösen ist.

Benutzer(Gruppen) mittels WMI berechtigen
In dem Codebeispiel weiter Unten wird der User domain\johndoe auf dem RDP Protokoll als User berechtigt. Dabei ist es wichtig, dass der Code auf der Maschine ausgeführt wird, für die diese Berechtigung gelten soll.

Achtung: Alle Codebeispiele bestehen aus nur einer Zeile, egal wie der Browser dies darstellt! Evtl. vorhandene Zeilenumbrüche müssen mit einem Leerzeichen ersetzt werden.
WMIC /NODE:"." RDPERMISSIONS WHERE TerminalName="RDP-tcp" CALL AddAccount "domain\johndoe",1

Drei Teile dieser Kommandozeile müssen hier erläutert werden:

  • TerminalName=”RDP-tcp”
    Für RDP ist der Name normalerweise RDP-tcp. Falls dieser Name auf deinen Servern anders lautet, muss der Wert angepasst werden.
    Um die Berechtigungen für das ICA Protokoll anzupassen, muss TerminalName=”ICA-tcp” verwendet werden. Konsolenzugang kann mittels TerminalName=”console” gesteuert werden.
  • AddAccount “domain\johndoe”
    Die Funktion “AddAccount” benötigt entweder einen User-, oder Gruppennamen inklusive Domäne. Um Built-In User hinzuzufügen, kann domain mit builtin ersetzt werden, z. B. AddAccount “builtin\Administrator”. Um eine Gruppe hinzuzufügen, kann einfach der Gruppenname verwendet werden, z. B. AddAccount “domain\Domain Admins”.

Ein Beispiel:
WMIC /NODE:"." RDPERMISSIONS WHERE TerminalName="RDP-tcp" CALL AddAccount "domain\Domain Admins",2

  • Vollzugriff, Gast-, oder Userzugriff
    Die abschliessende 2 in dem Beispiel beschreibt die Zugriffsrechte, wobei:

    • 0 : Guest Access
    • 1 : User Access
    • 2 : Full Control

    bedeuten.

ICA/RDP Berechtigungen entfernen
Um Berechtigungen auf einem Protokoll wieder zu entfernen, muss die Syntax etwas angepasst werden.
In diesem Beispiel wird der Built-In Gruppe “Remote Desktop Users” der Zugriff über das ICA Protokoll entzogen:
WMIC /NODE:"." RDACCOUNT WHERE "TerminalName='ICA-tcp' and AccountName='Builtin\\Remote Desktop Users'" CALL Delete

Um die “Domain Users” Gruppe zu entfernen, wird folgender Code benötigt:
WMIC /NODE:"." RDACCOUNT WHERE "TerminalName='ICA-Tcp' and AccountName='domain\\Domain Users'" CALL Delete

Hast du den doppelten Backslash bemerkt? Dieser ist, aus für mich nicht nachvollziehbaren Gründen, leider notwendig. Zumindest bist du jetzt gewarnt 😉

Komplettes Beispiel
Hier ist ein Beispiel für ein dreizeiliges Batch Script, um einen Terminalserver abzusichern.
Mit PsExec, einem genialen Tool aus der PsTools Sammlung von Sysinternals auf allen Remote Servern ausgeführt, ist eine Serverfarm in kürzester Zeit aktualisiert.
Die drei Zeilen machen folgendes:

  • 1. Stellt sicher, dass nur Citrix Administratoren (domain\citrixadmins) den Server via RDP erreichen können
  • 2. Entfernt die Berechtigungen für die “Domain Users” Gruppe
  • 3. Entfernt die Berechtigungen für die “Remote Desktop Users” Gruppe

WMIC /NODE:"." RDPERMISSIONS WHERE TerminalName="RDP-tcp" CALL AddAccount "domain\citrixadmins",2
WMIC /NODE:"." RDACCOUNT WHERE "TerminalName='RDP-tcp' and AccountName='domain\\Domain Users'" CALL Delete
WMIC /NODE:"." RDACCOUNT WHERE "TerminalName='RDP-tcp' and AccountName='Builtin\\Remote Desktop Users'" CALL Delete

Info: Wenn ein, oder mehrere Gruppen die gelöscht werden sollen nicht berechtigt waren, läuft das Script trotzdem, mit einer Meldung ‘no such instance’, weiter.

Der Originalartikel kann übrigens hier nachgelesen werden.

Gruss
Ecki

15. June, 2007

Mythos und Wahrheit über Presentation Server und WAN Optimierung

Die Diskussionen um Optimierungsmöglichkeiten im WAN Bereich nehmen aufgrund zunehmender Server- und Rechenzentrums Konsolidierungen stetig zu. Einige der Grossen im Netzwerkgeschäft wie Cisco, F5, Packeteer, Riverbed und seit neuestem auch Citrix mit seinen WANScalern (ehemals Orbital Data), um nur einige zu nennen, bearbeiten dieses Feld seit einigen Jahren sehr erfolgreich. Dabei liegt der Fokus jedoch eindeutig auf der schnellen Bereitstellung von Datei- und Druckdiensten (SMB/CIFS), sowie weiteren oft benutzten Protokollen wie HTTP, FTP und MAPI (Outlook/Exchange).

Nicht erst seit der Übernahme von Orbital Data durch Citrix im Herbst 2006 nehmen die Anfragen zu, ob und wie auch ICA zu optimieren ist. Sei es, dass hohe Latenzen über Satellitenstrecken, oder GPRS/UMTS zu schleppendem Bildschirmaufbau führen, oder das ein grosser Druckjob einen ganzen Standort ausbremst, die Rufe nach Erlösung werden immer lauter. Citrix hat mit seinen WANScalern in vielen Firmen grosse Erwartungen geweckt und wird in seinen öffentlichen Präsentationen auch nicht müde, die Werbetrommel zu rühren und ihre Botschaft, “we overcome latency” und “latency doesn’t matter anymore” ist allenorts zu hören.

Als Vertreter von Riverbed Produkten in der Schweiz kenne ich die Technologien und Abhängigkeiten in diesem Umfeld sehr genau und weiss um die Schwierigkeiten im WAN Umfeld. Daher konnte ich bei diesen Ankündigungen immer nur ungläubig den Kopf schütteln und die Erwartungen in Verbindung mit ICA Optimierungen bei meinen Kunden herunterschrauben. Eigene Tests mit WANScaler und Riverbed Appliances zeigten in diesem Bereich, wie erwartet, keine spürbaren Verbesserungen. Ein Vergleich der beiden Produkte wird demnächst hier zur Verfügung stehen. Aktuell konnte mir Citrix leider nur WANScaler mit dem nicht offiziellen (Citrix)Release 3.1.8, welcher mehr oder weniger ein umgelabelter Orbital Date Release ist, zur Verfügung stellen. Die aktuelle Version 4.1, als erste “echte” Citrix Version stand mir trotz wiederholtem Nachfragen und Bitten bisher nicht zur Verfügung. Sobald ich Zugriff auf diese Version habe, werde ich die Tests für die WANScaler wiederholen und den Vergleich veröffentlichen. Aber nun zurück zum Thema…

Nun hat Citrix Consulting endlich ein Papier veröffentlicht, welches nüchtern und unabhängig von Marketingaktivitäten die Möglichkeiten und vor allem Grenzen bei der Optimierung des ICA Protokolls darlegt. Ich kann dieses Papier nur jedem zur Lektüre empfehlen, der sich auf den Besuch eines “WAN Optimierers” jeglicher Herkunft vorbereiten möchte. Allen anderen Citrix Administratoren sei dieses Papier ebenfalls ans Herz gelegt, denn früher oder später kommt dieses Thema auf den Tisch und dann ist froh, wer nicht unvorbereitet ist.

Truths and Myths of Presentation Server and WAN Optimization

Gruss
Ecki