AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Terminal Server Sessions

Ein Thema von gargano · begonnen am 3. Jan 2008 · letzter Beitrag vom 3. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#1

Terminal Server Sessions

  Alt 3. Jan 2008, 13:56
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]
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 14:01
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:
The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 14:27
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
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 14:29
einfacher als einen Funktionsaufruf willst du es haben? also einen halben Funktionsaufruf?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 14:35
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
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#6

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 18:01
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.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 18:03
und wenn er eine feste anzahl zulassen will sollten eben semaphoren diesen Zweck erfüllen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#8

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 18:07
Soweit ich weiß sind Semaphoren nur pro Sitzung einzigartig. Also jedes Programm, welches in einer Sitzung gestartet wird, erhält ein eigenes Semaphorenhandle.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 18:13
das hätte ich auch gedacht. Durch folgenden Text im MSDN glaube ich inzwischen jedoch das es auch über Sessions hinweg funktioniert
Zitat:
The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
gargano

Registriert seit: 2. Okt 2006
76 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Terminal Sever Sessions

  Alt 3. Jan 2008, 18:19
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz