AGB  ·  Datenschutz  ·  Impressum  







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

Teminal Server Processes

Ein Thema von danieleh · begonnen am 13. Sep 2008 · letzter Beitrag vom 16. Sep 2008
Antwort Antwort
Seite 1 von 2  1 2      
danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#1

Teminal Server Processes

  Alt 13. Sep 2008, 17:10
Hallo

Ich habe eine Frage betreffend JwsclTerminalServer.
Und zwar möchte ich die Anzahl Prozesse der laufenden Anwendung (xyz.exe), über alle sessions hinweg herausfinden um die gleichzeitige Ausführung der App. zu beschränken.

Eine ähnliche Frage ist diese: http://www.delphipraxis.net/internal...t.php?t=125852. Obwohl die Frage sich auf einen Benutzer von mehreren Clients vebindend bezog, gab es doch den Hinweis die WTSEnumerateProcesses zu benutzen.

Nun bin ich nicht sicher ob zum Auslesen der Prozesse aller Sessions AdminRechte nötig sind oder nicht
Gemäss Microsoft (http://msdn.microsoft.com/en-us/library/aa383831(VS.85).aspx) scheint dies der Fall zu sein wenn ich das richtig verstehe (The caller must be a member of the Administrators group to enumerate processes that are running under a different user's context.)

Hätte jemand ein Tipp und evtl ein Stück Code? Ich kenn mich mit TS gar nid aus ...

Da ich momentan nur beschänkt zugriff auf einen TS habe kann ich auch nicht gut testen, also hoffe ich, auf Anhieb die richtige Lösung zu haben.

Vielen Dank
Daniele
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Teminal Server Processes

  Alt 13. Sep 2008, 20:19
Und hier geht es weiter: Remko shows us how to use the Terminal Server feature of JWSCL

Und ja, man braucht Adminrechte dazu.

Viel Spass.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#3

Re: Teminal Server Processes

  Alt 14. Sep 2008, 10:56
Hallo Dezipaitor

Danke für Deine Antwort.
Schade klappt es nur mit Adminrechte. Kann mann die Ausführung einer exe auf ein TS denn auch irgendwie anders beschränken (ohne Adminrechte)?
Wie sieht es mit semaphoren o.ä. aus ?

gruss, Daniele
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Teminal Server Processes

  Alt 14. Sep 2008, 17:19
Ich kann mich erinnern, dass es dazu schonmal einen Betrag hier gab. Ich glaube es war etwas mit "globaler Mutex". Einfach mal danach suchen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#5

Re: Teminal Server Processes

  Alt 15. Sep 2008, 17:23
Hallo Dezipaitor

habe nun nach dem mutex gesucht, bin allerdings auf folgendes gestossen, was mein Zweck erfüllen würde.
Kannst Du mir bestätigen das dies auch für Terminal Server geht oder müsste ich noch etwas hizufügen ?

Delphi-Quellcode:
var
  MyAtom: ATOM;

initialization

  MyAtom := GlobalFindAtom('{03D1CB1A-5C2C-4B0D-9311-F585653FF733}');

  if MyAtom <> 0 then
  begin
    MessageBox(0, 'Programm läuft bereits.', nil, MB_OK or MB_ICONEXCLAMATION);
    MyAtom := 0;
    Halt(0);
  end else
    MyAtom := GlobalAddAtom('{03D1CB1A-5C2C-4B0D-9311-F585653FF733}');

finalization
  if MyAtom <> 0 then GlobalDeleteAtom(MyAtom);
end.
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Teminal Server Processes

  Alt 15. Sep 2008, 17:32
Nein, sollte nicht gehen.

Bitte suche im Forum nach "global mutex". Dann bekommst du gute Posts zu dem Thema mit 100% Quelltextgarantie!
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Teminal Server Processes

  Alt 15. Sep 2008, 17:55
Hallo,

zum Testen sollte auch ein XP reichen,
wenn du dich mit 2 Nutzern gleichzeitig anmeldest.


Heiko
Heiko
  Mit Zitat antworten Zitat
danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#8

Re: Teminal Server Processes

  Alt 15. Sep 2008, 18:06
Danke für den Tipp Heiko. Da ich mich mit TS nicht auskenne kann ich nicht abschätzen was der Code auf dem TS für Auswirkungen hat (oder ob es zusätzliches Zeug dazu braucht)

ok, Danke Christian, dies die Mutex:

Delphi-Quellcode:
implementation

uses windows,Dialogs,sysutils;

var mHandle: THandle; // Mutexhandle

Initialization
  mHandle := CreateMutex(nil,True,'Global\xxxxx');
  // mHandle := CreateMutex(nil,True,'xxxxx');
  // 'xxxxx' Der Anwendungsname ist hier einzutragen
  if GetLastError = ERROR_ALREADY_EXISTS then begin
    // Anwendung läuft bereits
    {showMessage('Anwendung läuft bereits!!!!!');}   
    // Wenn du deine Meldung willst, mach die Klammern weg
    Halt;
  end;

finalization // ... und Schluß
  if mHandle <> 0 then
    CloseHandle(mHandle)
end. {Dieter Hirt}
  Mit Zitat antworten Zitat
danieleh

Registriert seit: 1. Dez 2005
54 Beiträge
 
#9

Re: Teminal Server Processes

  Alt 15. Sep 2008, 18:07
Warum geht das mit dem GlobalAtom eigentlich nicht ?
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Teminal Server Processes

  Alt 15. Sep 2008, 18:30
Zitat von danieleh:
Warum geht das mit dem GlobalAtom eigentlich nicht ?
Weil jede WindowStation ihre eigene Atomtabelle hat. Und jede Session kann neben Winsta, mehrere Windowstations besitzen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  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 12:41 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