Usercontrol 0.3.1
- free Version -
Dokumentation
Stand: 01.08.2010
Version: 0.3.1
Dokumentenhistorie
Änderungshistorie
Vers.-Nr. |
Datum |
Beschreibung der Änderung |
Kap., Abschn. |
Name des Ändernden |
0.0.1 |
15.11.2005 |
Erste Version |
|
Wim Peeters |
0.0.2 |
25.11.2005 |
Überarbeitung |
|
Ingo Bock |
0.1.1 |
19.10.2008 |
Vollständige Überarbeitung |
Alle |
Ingo Bock |
0.3.0 |
01.08.2010 |
Erneuerung der Screenshots, Überarbeitung der Kapitel |
Alle |
Eric Kuckartz |
0.3.1. |
23.08.2010 |
Redaktionelle Überarbeitung |
Alle |
Ingo Bock |
|
|
|
|
|
|
|
|
|
|
Inhaltsverzeichnis
1 Übersicht............................................................................................................................... 5
2 Bereitstellung und Programmaufruf.............................................................................. 6
3 Installation............................................................................................................................. 6
4 Erster Start............................................................................................................................ 6
5 Benutzung............................................................................................................................ 8
5.1 Allgemein................................................................................................................................ 8
5.2 Suchen.................................................................................................................................. 10
5.2.1 User suchen....................................................................................................................... 11
5.2.2 Anwendungen suchen........................................................................................................ 11
5.2.3 Clientverbindungen suchen................................................................................................ 13
5.3 Filtern.................................................................................................................................... 15
5.3.1 Filter deaktivieren............................................................................................................... 15
5.4 Schlechte
Server anzeigen................................................................................................. 17
5.5 Aktionen
durchführen........................................................................................................... 17
5.5.1 Kontextmenü...................................................................................................................... 17
5.5.2 Spiegeln einer Sitzung....................................................................................................... 21
5.5.3 Abmelden einer Sitzung..................................................................................................... 21
6 Programmierung, Speichernutzung und Threads................................................... 22
6.1 Bekannte
Probleme............................................................................................................. 23
7 Glossar................................................................................................................................ 24
Abbildungsverzeichnis
Abbildung 1: Aufruf über
Program Neighborhood
Abbildung
2: Endbenutzer-Lizenzvertrag
Abbildung
3: Informationen ablesen
Abbildung
5: Paste & Copy Nutzung
Abbildung
6: "Suchen auf" ändern
Abbildung
7: Suchstring Eingabe, Ergebnis „Er cO“
Abbildung
8: Suchergebnis "es"
Abbildung
9: Clientverbindung suchen
Abbildung
10: Suche auf Nicht-Citrix Server
Abbildung
12: Schlechte Server anzeigen
Abbildung
15: gestartete Prozesse
Abbildung
16: Beenden von Prozessen
Abbildung
17: Sitzung spiegeln
Abbildung
18: Sitzung abmelden
Abbildung
19: Speichernutzung WUC
Abbildung
20: Speichernutzung, WUC minimiert
In diesem Dokument wird die Nutzung und Funktionsweise des UserControl (Wim’s User Control - WUC) beschrieben.
Dieses Tool bietet Supportmitarbeitern (Benutzerservice, Produktverantwortliche, Anwendungsbetreuer, 2nd Level Support) eine einfache und schnelle Möglichkeit Anwender zu unterstützen, zu spiegeln, abzumelden und Ähnliches mehr.
Das Programm wurde entwickelt, da die von Citrix bereitgestellten Werkzeuge (Citrix Management Console, Presentation Server Console, Access Management Console) zwar für entsprechende administrative Tätigkeiten genutzt werden können, jedoch aufgrund der umfangreichen Funktionen oftmals zu mächtig und zu langsam für alltägliche Aufgaben sind und mitunter angepasste Berechtigungen für Servicedesk-Mitarbieter erfordern.
Das User Control wurde in C/C++ entwickelt, erfordert nur einen Teil der Systemresourcen einer Citrix Management Console, ist bis zu 10x schneller als diese und ist seit 2003 in mehreren großen Citrix Installationen erfolgreich im Betrieb.
Das WUC Spiegelungstool erfordert Schnittstellen, die nur auf einem Terminalserver zur Verfügung stehen, insofern ist die Installation auf Clientbetriebssystemen nicht möglich. Eine Bereitstellung auf normalen Clients kann jedoch über eine Veröffentlichung der Anwendung erfolgen, so dass über die Program Neighborhood (Beispiel in Abbildung 1), den PN-Agent oder das Webinterface von einem beliebigen Client darauf zugegriffen werden kann.
Für eine optimale Performance besteht die Empfehlung, das UserControl nur von einem FAT Client aufzurufen.
Grundsätzlich kann das UserControl auch aus einer Citrix – (ICA-) Sitzung aufgerufen werden, allerdings wird hier im Falle einer Spiegelung der ICA – Datenstrom über die vorhandene Verbindung zum Thin Client getunnelt („ICA Passthrough“), hierbei kann es zu Störungen der grafischen Darstellung kommen.
Abbildung 1: Aufruf über Program Neighborhood
Das Programm „Spiegelung.exe“ wird in ein eigenes Programmverzeichnis kopiert (z.B. „C:\Programme\Usercontrol“). Das Programm erfordert die API’s eines Windows Terminalserver mit Citrix MetaFrame Presentationserver (bzw. „XenApp“). Für den Programmaufruf muss eine entsprechende Veröffentlichung vorgenommen werden.
Des Weiteren muss der Benutzer berechtigt sein, den Dienst „Citrix Independent Management Architecture“ zu nutzen (ab Citrix Presentation Server 4.x ist dies ein eigenes Recht, über die AMC konfigurierbar).
Im Zuge des ersten Starts der Applikation wird der Endbenutzer-Lizenzvertrag angezeigt.
Abbildung 2: Endbenutzer-Lizenzvertrag
Bestätigt man diesen Endbenutzer-Lizenzvertrag über den Button akzeptieren, öffnet sich die Applikation.
Die Bestätigung des Endbenutzer-Lizenzvertrags wird in der Registry im Schlüssel [HKCU\Software\Keskon\Spiegelung] Eula abgespeichert.
Das WUC bietet Informationen über das Betriebssystem des Servers, Sitzungen, sowie die Auflistung aller Serversysteme, die online sind und auf denen gesucht werden kann.
Abbildung 3 zeigt das WUC, gestartet auf einem Windows Server 2003 Standard Edition mit Service Pack 2 und Build 3790.
Abbildung 3: Informationen ablesen
Eine Aufstellung aller verfügbaren Serversysteme, die durchsucht werden können, liefert die Taste „Serverliste“ (Abbildung 4). Es wird eine Liste der momentan erreichbaren Server angezeigt, im Beispiel sind es 56 aktive Server. Diese Liste wird alle 5 Minuten automatisch aktualisiert.
Sollten Sie Probleme feststellen, kontrollieren Sie bitte ZUERST diese Liste der Online-Serversysteme. Lesen Sie den Namen des Servers ab wo das WUC ausgeführt wird und die Anzahl der Server in der Serverliste. Fehlerhafte Informationen können u.a. dadurch entstehen, dass die Serverliste aufgrund ihrer letzten Aktualisierung nicht mehr dem tatsächlichen Stand entspricht.
Abbildung 4: Serverliste
Der Suchstring ist nicht „case sensitiv“, ist also unabhängig von Groß- und Kleinschreibung. Gesucht werden kann nach
Die Eingabefelder können neben direkter Eingabe auch aus der Zwischenablage („paste und copy“) gefüllt werden (vgl. Abbildung 5).
Beim Anpassen des Suchstrings wird das Eingabefeld Servername neu gesetzt. Wenn Sie hier ändern möchten, sollten Sie erst den Suchstring eingeben und dann den Servername bzw. ein Teil davon.
Abbildung 5: Paste & Copy Nutzung
Das Suchen von Anwendern ist die am häufigsten genutzte Funktion. Die Suche wurde optimiert, geschieht aber in Echtzeit. Dies hat folgende Vor- und Nachteile:
Nachteile:
Vorteile:
Mitunter werden Differenzen zwischen Sitzungsinformationen in der Management Konsole und dem Spiegelungstool festgestellt. Dies ist in der Regel so, da die Managment Konsole Ihre Inhalte von einem oder mehreren Datacollectoren bezieht, wo eine gewisse Verzögerung unvermeidbar ist. Das Spiegelungstool bezieht seine Daten direkt von den Servern in Echtzeit, ist also aktueller.
Zur Suche einer veröffentlichten Anwendung („Published Application“) wird die Suche über die Drop-Down Box auf „Applikation“ eingestellt werden (vgl. Abbildung 6).
Der Suchstring kann der vollständige Veröffentlichungsname der Anwendung oder ein Teil davon sein.
Bei der Suche nach einer Anwendung („Applikation“) zeigt das UserControl nur Sitzungen mit dem Veröffentlichungsnamen an. Dies ist die Bezeichnung, unter der die Anwendung unter Citrix veröffentlicht wurde und muss nicht dem eigentlichen Anwendungnamen entsprechen!
Achtung: Anwendungen die über das Startmenü einer Desktopsitzung aufgerufen werden (z.B. Notes, SMC, SAPGui…) werden nicht dargestellt, da sie nicht über eine Published Application aufgerufen wurden.
Abbildung 6: "Suchen auf" ändern
Beispiel:
Der Suchbegriff „Er cO“ liefert das Ergebnis in Abbildung 7, der Suchstring „es“ liefert das Ergebnis in Abbildung 8.
Abbildung 7: Suchstring Eingabe, Ergebnis für Applikation „Er cO“
Abbildung 8: Suchergebnis für UserID mit "es"
Auch über den Hostnamen des Clientgerätes lassen sich Sitzungen suchen. Sind z.B. Inventarnummer und Clientgerätetyp bekannt, können alle Sitzungen zu diesem Gerät aufgelistet werden. Clientnamen setzen sich oft aus einem Präfix und einer eindeutigen Nummer zusammen. Im Folgenden sind einige verbreitete Gerätekennungen aufgelistet:
…
Achtung: Der Hostname muss nicht immer eindeutig sein. Bei Produktions- oder Installationsfehlern können Clientnamen von o.g. Standards abweichen, bzw. es kann Doppelbezeichnungen geben.
Abhängig von der Konfiguration des Clients oder von der Version des ICA-Client oder des Sitzungtyps (Aufruf über Web, embedded, …) kann der Clientname unterschiedlich (ggf. dynamisch) generiert werden.
Im Beispiel (Abbildung 9) werden alle Clients mit „ks0“ im Namen aufgelistet.
Abbildung 9: Clientverbindung suchen, Ergebnis für „ks0“
Zur Filterung der Suche wird zuerst ein Suchstring eingetragen, danach wird im Servernamen ein Teilstring der zu durchsuchenden Serversysteme eingefügt.
Beispiele:
2. Suchen
aller Administratoren (User ID + a) auf allen Servern
Suchstring: a
Servername: MF
3. Suchen
aller James Bond Anwender auf allen Servern
Suchstring: 007
Servername: MF
4. Suchen
der UID u003317 auf Servern mit Teilnamen (Gruppe 101)
Suchstring: u003317
Servername: MFP101
5. Suchen
aller Anwender auf Servern mit Teilnamen (Gruppe 115)
Suchstring: * (auch „u“ bzw. „U“)
Servername: MFP115
Der Filter wird angewendet auf Servern der Citrix Serverfarm, auf denen das UserControl aufgerufen wird. Es können auch Nicht-Citrix Server und Systeme aus anderen Domänen durchsucht werden. Für Server aus einer anderen Domäne muss allerdings als Voraussetzung vorher eine IPC Verbindung hergestellt werden (z.B. ein gemapptes Laufwerk).
Beim Deaktivieren des Filters sind für Anwender ohne Administratoren - Berechtigungen nicht alle Funktionen verfügbar (beispielsweise Zugriff auf Datenbank-, File-, Print- oder Clusterserver).
Im folgenden Beispiel (Abbildung 10) wird ein Microsoft Exchangeserver durchsucht. Der Exchangeserver hat keinen Citrix Metaframe / Presentation Server oder XenApp installiert. Es ist kein User über RDP angemeldet.
Alle Funktionen bis auf das Spiegeln einer Sitzung sind verfügbar. Prozesse können beendet, eine Sitzung kann abgemeldet oder die Listener Ports neu gestartet werden.
Abbildung 10: Suche auf Nicht-Citrix Server
Diese Funktion listet die Server, die keinen „HANDLE“ zurückliefern, dies dient zur Fehlersuche.
Abbildung 11: Schlechte Server anzeigen
Sobald eine Sitzung (Session) ausgewählt ist, kann diese gespiegelt werden. Die Felder Suchstring, Servername und Sitzungsnummer werden automatisch mit den Daten der entsprechenden Sitzung gefüllt.
Mit der rechten Maustaste kann ein Kontextmenü aufgerufen werden, welches die folgenden Optionen bietet:
· User Information: Anwenderinformationen (vgl. Abbildung 13)
· User Processes: Innerhalb der Sitzung gestartete Prozesse (vgl. Abbildung 14)
Bevor die Punkte des Kontextmenüs nutzbar sind, muss ein Anwender oder eine Sitzung ausgewählt sein!
Wurde kein User ausgewählt, kann auch keine
Information angezeigt werden; es kommt die Fehlermeldung „Could not execute query. An invalid filter was specified“.
Abbildung 12: Kontextmenu
Abbildung 13: Userinformation
Abbildung 14: gestartete Prozesse zu einer Sitzung
Das beenden von Prozessen unterliegt den üblichen Berechtigungsstrukturen, so wird in der Regel nur ein Administrator die notwendigen Berechtigungen haben, Prozesse anderer Anwender zu beenden.
Ein entsprechend berechtigter Administrator kann in der oben beschriebenen Prozessliste jeden einzelnen über Auswahl des Prozesses und den Button „Kill…“ beenden (ähnlich dem Taskmanager).
Eine Warnmeldung verhindert, dass dies unabsichtlich geschieht (Abbildung 15).
Abbildung 15: Beenden von Prozessen
Um eine Sitzung zu spiegeln, muss zuerst die entsprechende Sitzung identifiziert und ausgewählt („angeklickt“) werden.
Durch betätigen des Buttons „User Spiegeln“ wird die Spiegelung in die Wege geleitet. Abhängig von den Citrix – Einstellungen für das Spiegeln wird in der Regel eine Anfrage an den Anwender geschickt, ob er die Spiegelung akzeptiert. Die Spiegelung kommt erst zustande, wenn diese Anfrage positiv quittiert wurde.
Selbstverständlich muss der aufrufende Anwender / Administrator ebenfalls für das Spiegeln berechtigt sein.
Abbildung 16: Sitzung spiegeln
Eine verwaiste oder defekte Sitzung, zu der ein Anwender nicht mehr verbunden wird oder die nicht mehr reagiert, kann abgemeldet werden. Wie beim Spiegeln muss in diesem Fall die entsprechende Sitzung ausgewählt und dann über den Button „User Abmelden“ beendet werden.
Über das Setzen des Häkchens „Schnelle Abmeldung“ wird das UserControl veranlasst, nicht auf eine Rückmeldung dieser Aktion zu warten. Ist der Haken nicht gesetzt, erfolgt eine Rückmeldung, sobald die Sitzung erfolgreich abgemeldet wurde.
Abbildung 17: Sitzung abmelden
Das WUC wurde in C/C++ entwickelt und benutzt mehrere Threads für das Sammeln von Informationen. Die Information wird über Mutual Exclusion in einer Liste eingetragen und angezeigt.
Die Anzahl von Threads kann sich während der Datensammlung stark erhöhen, in der Regel werden diese aber sehr schnell wieder abgebaut.
Die Speichernutzung ist automatisiert, Speicher wird fast vollständig wieder freigegeben, sobald die Anwendung minimiert wird (Abbildung 19). In Abbildung 18 ist ein Suchvorgang mit 107 Threads zu sehen, der 22.796 KB Speicher benötigt. Ungefähr eine Sekunde später sind nur noch 4 Threads aktiv. Beim Löschen des Suchergebnisses sind nur noch 14.604 KB belegt und nach Minimierung der Anwendung sind es nur noch 472 KB.
Abbildung 18: Speichernutzung WUC
Abbildung 19: Speichernutzung, WUC minimiert
Keine bekannt.