The following code displays the selected SID's number.
In my case S-1-5-21-1123561954-2054111206-734534423-1009
VB Code:
Private Declare Function ConvertSidToStringSid Lib "ADVAPI32.dll" Alias "ConvertSidToStringSidA" (ByVal Sid As String, ByRef lpStringSid As Long) As Long Private Declare Function IsValidSid Lib "ADVAPI32.dll" (ByRef pSid As Any) As Long Private Declare Function LookupAccountName Lib "ADVAPI32.dll" Alias "LookupAccountNameA" (ByVal lpSystemName As String, ByVal lpAccountName As String, ByVal Sid As String, ByRef cbSid As Long, ByVal ReferencedDomainName As String, ByRef cbReferencedDomainName As Long, ByRef peUse As Long) As Long Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long) Private Declare Function GlobalFree Lib "kernel32.dll" (ByVal hMem As Long) As Long Private Declare Function LocalAlloc Lib "kernel32.dll" (ByVal wFlags As Long, ByVal wBytes As Long) As Long Private Declare Function LocalFree Lib "kernel32.dll" (ByVal hMem As Long) As Long Private Sub Command1_Click() UserSID = GetSid(Text1.Text & "\" & Text2.Text) Text3.Text = UserSID End Sub Private Function GetSid(accountName As String) As String Dim userName As String Dim UserNameSize As Long Dim Sid As String Dim SidSize As Long Dim Domain As String Dim DomainSize As Long Dim snu As Long Dim sReturn As String userName = String$(255, 0&) Sid = String$(255, 0&) Domain = String$(255, 0&) sReturn = String$(255, 0&) UserNameSize = 255 SidSize = 255 DomainSize = 255 Call LookupAccountName(vbNullString, accountName, Sid, SidSize, Domain, DomainSize, snu) If IsValidSid(ByVal Sid) = 0& Then Exit Function Call ConvertSidToStringSid(Sid, snu) Call CopyMemory(ByVal sReturn, ByVal snu, 255) sReturn = Left$(sReturn, InStr(vbNull, sReturn, vbNullChar, vbBinaryCompare) - vbNull) Call GlobalFree(snu) GetSid = sReturn End Function
My question is. Why doesn't the number I get match with any of my HKEY_USERS ?
S-1-5-18
S-1-5-19
S-1-5-20
Thank you




Reply With Quote