| |
|
|
|
Beschreibung:
CheckTokenMembership überprüft, ob der SID einer Gruppe in einem Token vorhanden und aktiv ist. Diese Funktion gibt es nur unter Windows2000 und XP.
Deklaration:
DEF @CheckTokenMembership(3) !advapi32,CheckTokenMembership
Parameter:
1.Parameter: Handle eines Access Tokens oder 0, für den Token des aktuellen Prozesses. 2.Parameter: Bereichsvariable mit einer SID Struktur einer Gruppe. 3.Parameter: 4 Byte Bereichsvariable oder die Adresse einer LongIntvariablen, die einen Flag aufnimmt, der angibt ob die in Parameter 2 angegebene Gruppe im Token aktiv ist. => -$1 = Gruppe ist vorhanden und aktiv. - $0 = Gruppe ist nicht vorhanden oder inaktiv.
Rückgabewert:
0 bei Fehler, andernfalls <>0.
Beispiele:
KompilierenMarkierenSeparierenDEF @CheckTokenMembership(3) !"advapi32","CheckTokenMembership"
DEF @GetProcAddress(2) !"KERNEL32","GetProcAddress"
DEF @GetModuleHandle(1) !"KERNEL32","GetModuleHandleA"
Declare Member&,SID#,MHANDLE&,Module$,Funktion$
LET MODULE$=$SYSPATH+"Advapi32.DLL"
LET Funktion$="CheckTokenMembership"
LET MHANDLE&=@GetModuleHandle(@ADDR(Module$))
IF @GetProcAddress(MHANDLE&,@ADDR(FUNKTION$))<>0
DIM SID#,16
LONG SID#,0=513
LONG SID#,4=83886080
LONG SID#,8=32
LONG SID#,12=544
@CheckTokenMembership(0,SID#,@ADDR(Member&))
IF Member&=1
@Messagebox("Du bist auf deinem Rechner ein Administrator!","Admincheck",64)
else
@Messagebox("Du hast keine Administratorrechte!","Admincheck",64)
endif
DISPOSE SID#
else
@MESSAGEBOX("Falsche Windowsversion","Son Scheiß!",64)
endif
[keywords:d12e752cea] Token Gruppenzugehörigkeit Gruppe vorhanden aktiv aktiviert Rechte Privilegien Admin Administrator Administratoren System [/keywords:d12e752cea] |
|
|
| |
|
|