Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Daten aus der Registry lesen mit TService (https://www.delphipraxis.net/89242-daten-aus-der-registry-lesen-mit-tservice.html)

Luckie 12. Apr 2007 14:05

Re: Daten aus der Registry lesen mit TService
 
Zitat:

Zitat von Schwedenbitter
Ich habe mir jetzt die Function SidToStr selbst zusammengebastelt, nachdem ich sie nirgends finden so oder in einer Unit konnte.

MSDN-Library durchsuchenConvertSidToStringSid
Einfach selber deklarieren, sollte nicht so schwer sein.

Olli 13. Apr 2007 15:37

Re: Daten aus der Registry lesen mit TService
 
Nach wie vor ist ConvertSidToStringSid eine Option, denke ich.

Zitat:

Zitat von Schwedenbitter
Allerdings stehe ich vor demselben Problem wie das Programm LSALogon von Remko. Die letzten drei bzw. vier Ziffern des SID stimmen nicht. Damit komme ich nicht in diesen Unterschlüssel rein.
Ich habe jetzt auf mehreren Rechnern festgestellt, dass es neben der 1003 auch noch mehrere Möglichkeiten gibt. Meine Idee, die 500 einfach durch eine 1003 zu ersetzen, geht damit leider auch nicht mehr. Schade eigentlich.

Und wieso stimmen die nicht? Das ist die UID. Die ist nur fuer das eingebaute Adminkonto konstant (500 eben). Fuer alle anderen sind es Werte ueber 1000. Und die haengen davon ab wieviele Benutzer das System hat und welcher Benutzer das ist. Die Zahl wird immer erhoeht und das Loeschen von Benutzern aendert daran nichts - will heissen dass sie nicht wiederverwendet werden, selbst wenn der Benutzer geloescht wird. Der erste Teil der SID beschreibt bspw. Domain und System in dem das Benutzerkonto gilt. Die UID am Ende ist vergleichbar mit der in Unix.

Ausserdem sagte ich bereits, dass der Benutzer bereits eingeloggt sein muss, fuer welchen du das erreichen willst. Ansonsten hast du keine Chance auf den (logischerweise) nicht-existenten Schluessel zuzugreifen.

Olli 13. Apr 2007 15:46

Re: Daten aus der Registry lesen mit TService
 
Delphi-Quellcode:
function ConvertSidToStringSidW(Sid: PSID; var StringSid: PWideChar): BOOL; stdcall; external 'Advapi32.dll';

function SIDToStr(SID: PSID): WideString;
var
  lpcsSid: PWideChar;
begin
   Result := 'Error';
   if(ConvertSidToStringSidW(SID, lpcsSid))
   try
     Result := WideString(lpcsSid);
   finally
     LocalFree(lpcsSid);
   end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Seite 3 von 3     123   

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