Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 

Re: Daten aus der Registry lesen mit TService

  Alt 12. Apr 2007, 14:00
Ich habe mir jetzt die Function SidToStr selbst zusammengebastelt, nachdem ich sie nirgends finden so oder in einer Unit konnte. Für den Fall, dass jemand Interesse hat:
Delphi-Quellcode:
Function SIDToStr(SID:Windows.PSID):WideString;
Var
   SIA : PSIDIdentifierAuthority;
   dwCount : Cardinal;
   I : Integer;
Begin
   If Not isValidSID(SID) Then
      Result:='Error'
   Else
   Begin
      Result:='S-'+IntToStr(Byte(SID^))+'-';
      SIA:=GetSIDIdentifierAuthority(SID);
      Result:=Result+IntToStr(SIA.Value[5]);
      dwCount:=GetSIDSubAuthorityCount(SID)^;
      For I:=0 To (dwCount-1) Do
         Result:=Result+'-'+IntToStr(GetSIDSubAuthority(SID,I)^);
   End;
End;
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.
Alex Winzer
  Mit Zitat antworten Zitat