Italia
Stammtisch & Caffè

ConvertStringSidToSid.

 


Beschreibung:

ConvertStringSidToSid wandelt einen String-SID in un SID Struktur um. Diese Funktion gibt es nur unter Windows2000/XP. Der erhaltene Speicherbereich muß mit LocalFree wieder freigegeben werden.




Deklaration:

DEF @ConvertStringSidToSid(2) !ADVAPI32,ConvertStringSidToSidA




Parameter:

1.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der den String-SID enthält.
2.Parameter: Ausreichend dimensionierte Bereichsvariable, die die SID Struktur aufnimmt.



Rückgabewert:

0 bei Erfolg, ansonsten ein Fehlercode.


Beispiele:

KompilierenMarkierenSeparieren
Def @RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
Def @RegEnumKey(4) !"ADVAPI32","RegEnumKeyA"
Def @RegCloseKey(1) !"ADVAPI32","RegCloseKey"
DEF @ConvertStringSidToSid(2) !"ADVAPI32","ConvertStringSidToSidA"
DEF @LookupAccountSid(7) !"ADVAPI32","LookupAccountSidA"
Def @RegEnumValue(8) !"ADVAPI32","RegEnumValueA"
DEF @LocalFree(1) !"KERNEL32","LocalFree"
Windowstyle 31
Windowtitle "String-SID in Accountnamen umwandeln"
Window 0,0-640,440
declare ergebnis#,Error&,Handle&,Key$,Zähler%,SID#,SID$,Fehler&,SYSTEM$
Declare Ergebnis#,ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#
Declare VALUESIZE#,Typ#,Wert#,Buffersize#,Zähler&
dim Ergebnis#,261--Länge des zu erwartenden Namens
DIM SID#,4
DIM ACCOUNT_NAME#,256
DIM SIZE_ACCOUNT#,4
DIM Domain#,256
DIM SIZE_DOMAIN#,4
DIM SID_NAME_USE#,4
DIM TYP#,4
DIM Wert#,261
DIM Buffersize#,4
DIM VALUESIZE#,4
Key$=""
 $80000003=HKEY_USERS   $F003F = KEY_ALL_ACCESS
Error&=@RegOpenKeyEx($80000003,addr(Key$),0,$F003F,addr(Handle&))
PRINT "OpenKey (0=OK) : ",Error&
LET Zähler%=0

whilenot Error&

    Error&=@RegEnumKey(Handle&,Zähler%,Ergebnis#,261)

    IF Error& =0

        PRINT @string$(Ergebnis#,0)
        LET SID$=@string$(Ergebnis#,0)
        CLEAR SID#
        LET FEHLER&=@ConvertStringSidToSid(@ADDR(SID$),SID#)

        IF Fehler&<>0

            Clear SID_NAME_USE#
            Clear ACCOUNT_NAME#
            Clear Domain#,SYSTEM$
            Long SIZE_ACCOUNT#,0=255
            LONG SIZE_DOMAIN#,0=255
            LET FEHLER&=@LookupAccountSid(@ADDR(System$),@LONG(SID#,0),ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)
            @LocalFree(@LONG(SID#,0))

            IF @AND(FEHLER&=1,@STRING$(ACCOUNT_NAME#,0)<>"")

                ADDSTRING @STRING$(ACCOUNT_NAME#,0)+": "+SID$

            ENDIF

        ENDIF

    endif

    inc Zähler%
    endwhile @RegCloseKey(Handle&)
    LET Key$="SoftwareMicrosoftWindowsCurrentVersionGroup PolicyGroupMembership"
     $80000001=HKEY_CURRENT_USER   $F003F = KEY_ALL_ACCESS
    Error&=@RegOpenKeyEx($80000001,addr(Key$),0,$F003F,@addr(Handle&))
    PRINT ""
    Let Zähler&=0

    whilenot Error&

        LONG BUFFERSIZE#,0=261
        LONG VALUESIZE#,0=261
        Clear Ergebnis#,TYP#,Wert#
        Error&=@RegEnumValue(Handle&,Zähler&,Ergebnis#,VALUESIZE#,0,TYP#,Wert#,Buffersize#)

        IF Error&=0

            IF @or(@LONG(TYP#,0)=$2,@LONG(TYP#,0)=$1)

                PRINT @string$(Ergebnis#,0)+"="+@string$(WERT#,0)
                LET SID$=@string$(WERT#,0)
                CLEAR SID#
                LET FEHLER&=@ConvertStringSidToSid(@ADDR(SID$),SID#)

                IF Fehler&<>0

                    Clear SID_NAME_USE#
                    Clear ACCOUNT_NAME#
                    Clear Domain#,SYSTEM$
                    Long SIZE_ACCOUNT#,0=255
                    LONG SIZE_DOMAIN#,0=255
                    LET FEHLER&=@LookupAccountSid(@ADDR(System$),@LONG(SID#,0),ACCOUNT_NAME#,SIZE_ACCOUNT#,Domain#,SIZE_DOMAIN#,SID_NAME_USE#)

                    IF @AND(FEHLER&=1,@STRING$(ACCOUNT_NAME#,0)<>"")

                        ADDSTRING @STRING$(ACCOUNT_NAME#,0)+": "+SID$

                    ENDIF

                ENDIF

            endif

        endif

        LET Zähler&=Zähler&+1
        endwhile @RegCloseKey(Handle&)
        dispose Ergebnis#
        Dispose SID#
        Dispose ACCOUNT_NAME#
        Dispose SIZE_ACCOUNT#
        Dispose Domain#
        Dispose SIZE_DOMAIN#
        Dispose SID_NAME_USE#
        Dispose TYP#
        Dispose Wert#
        Dispose Buffersize#
        Dispose VALUESIZE#
        @Listbox$(
class=s3>"SID als Accountname und als SID-String",1)

[keywords:2a2fd3ff2b]
SID Mostra String umwandeln Registry
[/keywords:2a2fd3ff2b]
 
23.05.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.228 Views

Untitledvor 0 min.
rquindt06.12.2015

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie