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.. 6

Abbildung 2: Endbenutzer-Lizenzvertrag.. 7

Abbildung 3: Informationen ablesen.. 8

Abbildung 4: Serverliste. 9

Abbildung 5: Paste & Copy Nutzung.. 10

Abbildung 6: "Suchen auf" ändern.. 11

Abbildung 7: Suchstring Eingabe, Ergebnis „Er cO“. 12

Abbildung 8: Suchergebnis "es". 13

Abbildung 9: Clientverbindung suchen.. 14

Abbildung 10: Suche auf Nicht-Citrix Server.. 16

Abbildung 12: Schlechte Server anzeigen.. 17

Abbildung 13: Kontextmenu.. 18

Abbildung 14: Userinformation.. 18

Abbildung 15: gestartete Prozesse. 19

Abbildung 16: Beenden von Prozessen.. 20

Abbildung 17: Sitzung spiegeln.. 21

Abbildung 18: Sitzung abmelden.. 21

Abbildung 19: Speichernutzung WUC.. 22

Abbildung 20: Speichernutzung, WUC minimiert.. 23

 


1             Übersicht

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.

 

 


2             Bereitstellung und Programmaufruf

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

 

 

3             Installation

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).

 


4             Erster Start

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.


5             Benutzung

5.1         Allgemein

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

 


5.2         Suchen

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

 


5.2.1     User suchen

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.

 

5.2.2     Anwendungen suchen

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"

 

5.2.3     Clientverbindungen suchen

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“


5.3         Filtern

Zur Filterung der Suche wird zuerst ein Suchstring eingetragen, danach wird im Servernamen ein Teilstring der zu durchsuchenden Serversysteme eingefügt.

 

Beispiele:

 

  1. Suchen aller User auf Server MFP101065
    Suchstring:       *
    Servername:     MFP101065

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

 

5.3.1     Filter deaktivieren

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

 

 


5.4         Schlechte Server anzeigen

Diese Funktion listet die Server, die keinen „HANDLE“ zurückliefern, dies dient zur Fehlersuche.

 

Abbildung 11: Schlechte Server anzeigen

 

5.5         Aktionen durchführen

5.5.1     Kontextmenü

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

 


5.5.2     Spiegeln einer Sitzung

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

 

 

5.5.3     Abmelden einer Sitzung

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

 

 


6             Programmierung, Speichernutzung und Threads

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

 

 

6.1         Bekannte Probleme

Keine bekannt.

 

 


7             Glossar