| |
|
|
| Hallo Profaner...
Ich brauche einmal 4-5 Rückmeldungen des unteren Quelltextes von NT,2000 und XP - einmal per Kein und zur Kontrolle per Jeder. Ich will mal hoffen, ich habe den richtigen Quelltext erwischt - hatte gerade Nachtschicht: KompilierenMarkierenSeparierenDEF @LookupAccountName(7) !"advapi32","LookupAccountNameA"
DEF @LogonUser(6) !"advapi32","LogonUserA"
DEF @CreateProcessAsUser(11) !"advapi32","CreateProcessAsUserA"
DEF @SetLastError(1) !"kernel32","SetLastError"
DEF @GetLastError(0) !"kernel32","GetLastError" Liefert letzten API Fehler.
DEF @ZeroMemory(2) ! "Kernel32","RtlZeroMemory"
DEF @CloseHandle(1) !"kernel32","CloseHandle" Schließt ein Handle (Programm).
DEF @CreateProcessWithLogonW(11) !"advapi32","CreateProcessWithLogonW"
DEF @MultiByteToWideChar(6) !"kernel32","MultiByteToWideChar"
DEF @GetACP(0) !"kernel32","GetACP"
DEF @ConvertSidToStringSid(2) !"ADVAPI32","ConvertSidToStringSidA"
DEF @LocalFree(1) !"KERNEL32","LocalFree"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
Proc GET_SID
Parameters PUSERNAME$
Declare FEHLER&,SID_Size#,DOMAINNAME_SIZE_ADDR#,Zähler&
Declare SID#,DOMAIN#,SID_TYPE_INDICATOR#,DOMAIN#,SID#,P_STRSID#,STRSID#
DIM DOMAIN#,256
DIM SID#,1
DIM SID_Size#,4
DIM DOMAINNAME_SIZE_ADDR#,4
DIM SID_TYPE_INDICATOR#,256
DIM P_STRSID#,4
Dim STRSID#,256
CLEAR SID#,DOMAIN#,SID_TYPE_INDICATOR#,DOMAIN#,SID#,DOMAINNAME_SIZE_ADDR#
Long SID_Size#,0=1
LONG DOMAINNAME_SIZE_ADDR#,0=255
ADDSTRING "Gruppen- oder Username="+PUSERNAME$
LET Fehler&=@LookupAccountName(0,@addr(PUSERNAME$),SID#,SID_Size#,DOMAIN#,DOMAINNAME_SIZE_ADDR#,SID_TYPE_INDICATOR#)
DISPOSE SID#
DIM SID#,@LONG(SID_Size#,0)
Clear SID#,Domain#,SID_TYPE_INDICATOR#
LET Fehler&=@LookupAccountName(0,@addr(PUSERNAME$),SID#,SID_Size#,DOMAIN#,DOMAINNAME_SIZE_ADDR#,SID_TYPE_INDICATOR#)
ADDSTRING "Fehler LookupAccountName: "+@str$(Fehler&)
ADDSTRING "Domain="+@STRING$(DOMAIN#,0)
ADDSTRING "SID Länge in Bytes="+@STR$(@LONG(SID_Size#,0))
ADDSTRING ""
ADDSTRING "LongInts des SIDs:"
LET ZÄHLER&=0
While Zähler&<@LONG(SID_Size#,0)
ADDSTRING @STR$(@LONG(SID#,Zähler&))
LET Zähler&=Zähler&+4
wend
ADDSTRING ""
IF @Val(@Left$($WINVER,3))>=5.0
LET FEHLER&=@ConvertSidToStringSid(SID#,P_STRSID#)
@CopyMemory(STRSID#,@LONG(P_STRSID#,0),255)
ADDSTRING "String-SID des Besitzers="+@STRING$(STRSID#,0)
ADDSTRING "Rückgabe von ConvertSidToStringSid="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
LET Fehler&=@LocalFree(@LONG(P_STRSID#,0))
ADDSTRING "Rückgabe von LocalFree für den String-SID="+@STR$(Fehler&)
ADDSTRING "Letzter API-Fehler="+@STR$(@GetLastError())
endif
DISPOSE SID#
DISPOSE DOMAIN#
DISPOSE SID_Size#
DISPOSE DOMAINNAME_SIZE_ADDR#
DISPOSE SID_TYPE_INDICATOR#
DISPOSE P_STRSID#
DISPOSE STRSID#
ENDPROC
ADDSTRING "Windowsversion="+$WINVER
GET_SID @INPUT$("Usernamen oder Gruppe eingeben:","SID ermitteln","Kein")
@EDITBOX(;Rückgaben",1)
Saluto AH |
|
|
| |
|
|
|
| Hallo Andreas, folgende Resultate:
Gruppen- oder Username=Kein Fehler LookupAccountName: 1 Domain=TS-COMPUTER SID Länge in Bytes=28
LongInts des SIDs: 1281 83886080 21 507921405 1004336348 725345543 513
String-SID des Besitzers=S-1-5-21-507921405-1004336348-725345543-513 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0
#########################################################
Windowsversion=5.1 Gruppen- oder Username=Jeder Fehler LookupAccountName: 1 Domain= SID Länge in Bytes=12
LongInts des SIDs: 257 16777216 0
String-SID des Besitzers=S-1-1-0 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0 |
|
|
| |
|
|
|
CB | Hallo Andreas!
Leider ist meine NT-Workstation in der Firma dzt. außer Gefecht und ich weiß nicht, wann und ob das Ding wieder zum Einsatz kommt. 2000 kann ich evtl. heute abend testen, falls ich nicht mehr dazukommen sollte, gehts leider erst Dienstag wieder. Hier mal fürs Erste meine XP-Resultate:
[box:4a732bd160]Windowsversion=5.1 Gruppen- oder Username=Kein Fehler LookupAccountName: 1 Domain=SVA SID Länge in Bytes=28
LongInts des SIDs: 1281 83886080 21 1659004503 606747145 1801674531 513
String-SID des Besitzers=S-1-5-21-1659004503-606747145-1801674531-513 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0[/box:4a732bd160] [box:4a732bd160]Windowsversion=5.1 Gruppen- oder Username=Jeder Fehler LookupAccountName: 1 Domain= SID Länge in Bytes=12
LongInts des SIDs: 257 16777216 0
String-SID des Besitzers=S-1-1-0 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0[/box:4a732bd160] Saluto, Christian |
|
|
| |
|
|
|
| Kein:[quote:c1eece9c99]Windowsversion=5.1 Gruppen- oder Username=Kein Fehler LookupAccountName: 1 Domain=C4 SID Länge in Bytes=28
LongInts des SIDs: 1281 83886080 21 789336058 1343024091 854245398 513
String-SID des Besitzers=S-1-5-21-789336058-1343024091-854245398-513 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0[/quote:c1eece9c99]Jeder:[quote:c1eece9c99]Windowsversion=5.1 Gruppen- oder Username=Jeder Fehler LookupAccountName: 1 Domain= SID Länge in Bytes=12
LongInts des SIDs: 257 16777216 0
String-SID des Besitzers=S-1-1-0 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0[/quote:c1eece9c99] |
|
|
| |
|
|
|
Michael Wodrich | WinXP Home
[box:11b70432ac] --- Kein
Windowsversion=5.1 Gruppen- oder Username=Kein Fehler LookupAccountName: 1 Domain=PROFANIUM SID Länge in Bytes=28
LongInts des SIDs: 1281 83886080 21 1820858989 1647371527 101265881 513
String-SID des Besitzers=S-1-5-21-1820858989-1647371527-101265881-513 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0
--- Jeder
Windowsversion=5.1 Gruppen- oder Username=Jeder Fehler LookupAccountName: 1 Domain= SID Länge in Bytes=12
LongInts des SIDs: 257 16777216 0
String-SID des Besitzers=S-1-1-0 Rückgabe von ConvertSidToStringSid=1 Letzter API-Fehler=0 Rückgabe von LocalFree per den String-SID=0 Letzter API-Fehler=0 [/box:11b70432ac] Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 07.07.2005 ▲ |
|
|
|
|
| Besten Dank. Kein ist also Domainabhängig und geht nicht.
Saluto
AH |
|
|
| |
|
|