![]() |
Terminal Server Sessions
Hallo Delphianer,
erstmal ein schönes neues Jahr. In diesem habe ich schon ein Problem: Ich möchte herausfinden wieviele Sessions eines bestimmten Programmes auf einem Terminalserver laufen. Hintergrund ist, daß ich nicht möchte daß ein Benutzer unzählig viele Sessions von verschiedenen Clients aus starten kann. Am besten wäre eine Abfrage : If ClientSessions>5 then exit; o.Ä. Allein diese Abfrage fehlt. Kann jemand helfen ? Viele Grüße Gargano [edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit] |
Re: Terminal Sever Sessions
schau mal CreateSemaphore an. Wenn ich die hilfe recht verstehe kannst du über den Namen festlegen ob es an die Session oder Global gebunden ist.
Zitat:
|
Re: Terminal Sever Sessions
mmh,
das bedeutet , daß ich ein Dummy Semaphore erstellen muß, um die Anzahl der Sessions zu begrenzen. Gibt es da keine einfachere Möglichkeit ? Ob das Programm auf einem Terminal Server läuft, kann mich mit GetSystemMetrics($1000) abfragen. Viele Grüße Gargano |
Re: Terminal Sever Sessions
einfacher als einen Funktionsaufruf willst du es haben? also einen halben Funktionsaufruf?
|
Re: Terminal Sever Sessions
Ich meinte damit, evtl. hat jemand eine fertige und getestete Funktion.
Also 'ready to use'. Deinen britischen Humor kann ich Moment nicht ganz teilen. Sorry, ich bin etwas unter Zeitdruck. Viele Grüße Gargano |
Re: Terminal Sever Sessions
Hab ich das richtig verstanden?
Du willst die Anzahl der gleichzeitigen Benutzung beschränken? Seit Windows Vista (und vorher die Server Varianten) können mehrere Benutzer gleichzeitig auf einem System arbeiten. Jeder Benutzer hat dabei eine Sitzung (Sessions). D.h. du willst alle Sitzungen und dort jeweils die gestarteten Prozesse erfahren. Wenn dein Prozess dabei ist, dann erhöhst du den Zähler. Eine fertige Funktion kenne ich dafür jetzt nicht. Aber in der Jwscl, genauer gesagt JwsclTerminalServer.pas und JwaWinsta.pas wird daran gearbeitet. Das ist das was am nächsten deiner Lösung kommt. |
Re: Terminal Sever Sessions
und wenn er eine feste anzahl zulassen will sollten eben semaphoren diesen Zweck erfüllen.
|
Re: Terminal Sever Sessions
Soweit ich weiß sind Semaphoren nur pro Sitzung einzigartig. Also jedes Programm, welches in einer Sitzung gestartet wird, erhält ein eigenes Semaphorenhandle.
|
Re: Terminal Sever Sessions
das hätte ich auch gedacht. Durch folgenden Text im MSDN glaube ich inzwischen jedoch das es auch über Sessions hinweg funktioniert
Zitat:
|
Re: Terminal Sever Sessions
Hallo Dezipaitor,
das hast Du genau richtig erfaßt. Das Ganze soll unter Terminalserver laufen, wenn die Anzahl der Clients mit meinem Programm einen Wert überschritten hat, sollen keine weiteren Programme mehr gestartet werden können, bis sich evtl. jemand anders abmeldet und die Anzahl wieder unter den Wert sinkt. @SirThornberry Die evtl. Lösung mit Semaphoren werde ich morgen probieren. Ich geb dann Bescheid. Gruß Gargano |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz