Logo faq-o-matic.net
Logo faq-o-matic.net

Citrix-Benutzer auflisten

von veröffentlicht am26. August 2006, 15:19 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Scripting, Terminal Server   Translate with Google Translate Translate EN   Die angezeigte Seite drucken
Zuletzt aktualisiert: 8. Januar 2008

Gibt es eine Möglichkeit einen Snapshot von allen Benutzern zu machen, die eine Anwendung in Citrix geöffnet haben?Ja – zum Beispiel per Skript.

Das Script „Citrix_Dump.vbs“ liest die angemeldeten Benutzer einer Citrixfarm und gibt das Ergebnis in einer übersichtlichen HTML-Datei aus. Das Visual-Basic-Script lässt sich leicht für administrative Zwecke erweitern, um zum Beispiel direkt nur auf einem Benutzer zu prüfen, ob er eine Anwendung gestartet hat und wenn ja, auf welchem Server. Es ist daher eine schnelle Alternative zur Citrix-Konsole. Für die Hotline kann man die Funktionen auch in ASP abbilden, falls sie darüber schon andere Aufgaben wahrnimmt.

Aufgrund der benötigten Objekte, die Citrix mitbringt, muss das Script auf einem Citrixserver ausgeführt werden. Das Script wird im Explorer einfach mit einem Doppelklick gestartet, es prüft zunächst ob es ein Verzeichnis „c:\Log“ gibt und legt es gegebenenfalls an. Selbstverständlich kann man das Verzeichnis seinen Wünschen entsprechend anpassen. Danach werden lediglich drei Routinen aufgerufen.
1. „S_HTML_HEAD“ – Der HTML-Kopf wird erstellt
2. „S_ListSession“ – Die Hauptprozedur
3. „S_HTML_END“ – Das HTML-Ende wird erstellt

Die einzeiligen Routinen 1 und 3 dürften selbsterklärend sein. In der Hauptprozedur „S_ ListSession“ wird in der Variabel „O_Farm“ das Farm-Objekt „MetaFrameCOM.MetaFrameFarm“ instanziiert und danach initialisiert. Nach dem Tabellenaufbau werden in einer for-Schleife sämtliche Sitzungen erfasst und folgende Informationen Zeilenweise ausgegeben: Zeilennummer, Benutzer, Server, auf dem die Anwendung gestartet wurde, Anwendungsname und wann die Anwendung gestartet wurde.

Das Script muss nicht an die eigene Domäne angepasst werden, da alle benötigten Informationen aus dem Citrix-Objekt ausgelesen werden.

  1. ‚Citrix_Dump.vbs

  2. ‚Wer ist gerade an Citrix angemeldet und hat welche Anwendung offen

  3. ‚Autor: eink@code-master.de

  4. ‚22.08.2006/ge

  5. Option explicit

  6. const C_Log = „c:\log\Citrix_Dump.html“

  7. DiM O_FSO

  8. DIM O_Log

  9. Set O_FSO = CreateObject(„Scripting.FileSystemObject“)

  10. if O_FSO.FolderExists(„c:\Log“) then

  11.   Set O_Log = O_FSO.OpenTextFile(C_Log,2,true)

  12. else

  13.   O_FSO.CreateFolder „c:\log“

  14.   Set O_Log = O_FSO.OpenTextFile(C_Log,2,true)

  15. end if

  16. call S_HTML_Head

  17. call S_ListSession

  18. call S_HTML_End

  19. ‚#################################

  20. ‚Auf welchem Server ist der User angemeldet

  21. sub S_ListSession

  22.     ‚Variabeln initialisieren

  23.     DIM O_Farm

  24.     DIM aSession

  25.     DIM L_Counter

  26.     ‚Verbindung zum Farm-Objekt herstellen

  27.     Set O_Farm = CreateObject(„MetaFrameCOM.MetaFrameFarm“)

  28.     O_farm.initialize 1

  29.     ‚Zeilennummer

  30.     L_Counter = 1

  31.     O_Log.writeline „Dump erstellt am: „ & now

  32.     O_Log.writeline „<hr size=3 noshade>“

  33.     O_Log.writeline „<table border=1 cellpadding=2 cellspacing=0 bordercolor=black>“

  34.     O_Log.writeline „<tr align=center><td width=20><b>Nr.</b></td><td width=200><b>User</b></td><td width=200><b>Server</b></td><td><b>Anwendung</b></td><td><b>Zeit</b></td></tr>“

  35.     For Each aSession In O_Farm.Sessions

  36.         O_Log.writeline „<tr><td>“ & L_Counter & „</td><td>“ & aSession.UserName & „</td><td>“ & aSession.ServerName & „</td><td>“ & aSession.Appname & „</td><td>“ & aSession.LogonTime(True).Day & „.“ & aSession.LogonTime(True).Month & „.      „ &  aSession.LogonTime(True).Hour & „:“ &  aSession.LogonTime(True).Minute & „:“ & aSession.LogonTime(True).Second & „</td></tr>“

  37.         L_Counter = L_Counter + 1

  38.     Next

  39.     O_Log.writeline „</table>“

  40. end sub

  41. ‚HTML Kopf

  42. sub S_HTML_Head

  43.     O_Log.writeline „<hthml><head></head><body>“

  44. end sub

  45. ‚HTML Ende

  46. sub S_HTML_End

  47.     O_Log.writeline „</body></html>“

  48. end sub

© 2005-2017 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!