Español
Fuente/ Codesnippets

Eines Nur Programa Rechten Starten Users Win

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Programm mit Rechten eines Users starten (nur Win 2000 und XP)
Def @Lookupaccountname(7) !advapi32,LookupAccountNameA
Def @Setlasterror(1) !kernel32,SetLastError
Def @Getlasterror(0) !kernel32,GetLastErrorLiefert letzten API Fehler.
Def @Zeromemory(2) ! Kernel32,RtlZeroMemory
Def @Createprocesswithlogonw(11) !advapi32,CreateProcessWithLogonW
Def @Multibytetowidechar(6) !kernel32,MultiByteToWideChar
Def @Getacp(0) !kernel32,GetACP
Declare Fehler&,Domain$,Sid_size#,Lpstartupinfo#,Lpprocessinformation#
Declare Lpcommandline#,Domainname_size_addr#
Declare Sid#,Domain#,Sid_type_indicator#,Domain#,Attribut#,Allprivs#,Count#,Sid#
Declare Eun$,Epw$,Epr$,Epp$
Dim Domain#,256
Dim Sid#,800
Dim Sid_size#,4
Dim Domainname_size_addr#,4
Dim Sid_type_indicator#,256

Proc Startwithuserrights

    Addstring Start der Prozedur zum Impersonifizieren anderer User
    Parameters Pusername$,Ppasswort$,Pprogramm$,Pparameter$
    Declare Pusername#,Ppasswort#,Pprogramm#,Domainw#
    Addstring Username: +Pusername$
    Addstring Passwort: +Ppasswort$
    Addstring Zu startendes Programm : +Pprogramm$
    Addstring Programmparameter: +Pparameter$
    Clear Sid#,Domain#,Sid_type_indicator#,Domain#,Sid#,Domainname_size_addr#
    Long Sid_size#,0=800
    Long Domainname_size_addr#,0=255
    Let Fehler&=@Lookupaccountname(0,@Addr(Pusername$),Sid#,Sid_size#,Domain#,Domainname_size_addr#,Sid_type_indicator#)
    Addstring Fehler LookupAccountName: +@Str$(Fehler&)
    Let Domain$=@String$(Domain#,0)
    Addstring Domain: +Domain$
    Let Pprogramm$=@Shortname$(Pprogramm$)
    Case Pparameter$<> : Let Pprogramm$=Pprogramm$+@Space$(1)+Chr$(34)+Pparameter$+Chr$(34)
    Dim Pprogramm#,(@Len(Pprogramm$)*2)+1
    Dim Pusername#,(@Len(Pusername$)*2)+1
    Dim Ppasswort#,(@Len(Ppasswort$)*2)+1
    Dim Domainw#,(@Len(Domain$)*2)+1
    Let Fehler&=@Multibytetowidechar(@Getacp(),0,@Addr(Pprogramm$),-1,Pprogramm#,(@Len(Pprogramm$)*2)+1)
    Addstring Rückgabe von MultiByteToWideChar: +@Str$(Fehler&)
    Let Fehler&=@Multibytetowidechar(@Getacp(),0,@Addr(Domain$),-1,Domainw#,(@Len(Domain$)*2)+1)
    Addstring Rückgabe von MultiByteToWideChar: +@Str$(Fehler&)
    Let Fehler&=@Multibytetowidechar(@Getacp(),0,@Addr(Pusername$),-1,Pusername#,(@Len(Pusername$)*2)+1)
    Addstring Rückgabe von MultiByteToWideChar: +@Str$(Fehler&)
    Let Fehler&=@Multibytetowidechar(@Getacp(),0,@Addr(Ppasswort$),-1,Ppasswort#,(@Len(Ppasswort$)*2)+1)
    Addstring Rückgabe von MultiByteToWideChar: +@Str$(Fehler&)
    @Setlasterror(0)
    Addstring Letzter API Fehler: +@Str$(@Getlasterror())
    Dim Lpstartupinfo#,68
    Zeromemory(Lpstartupinfo#,68)
    Long Lpstartupinfo#,0=68
    Dim Lpprocessinformation#,16
    Dim Lpcommandline#,@Len(Pprogramm$)+1
    Zeromemory(Lpprocessinformation#,16)
    String Lpcommandline#,0=Pprogramm$
    @Createprocesswithlogonw(Pusername#,Domainw#,Ppasswort#,0,0,Pprogramm#,0,0,0,Lpstartupinfo#,Lpprocessinformation#)
    Addstring Letzter API Fehler: +@Str$(@Getlasterror())
    Dispose Domainw#
    Dispose Pprogramm#
    Dispose Pusername#
    Dispose Ppasswort#
    Dispose Lpstartupinfo#
    Dispose Lpprocessinformation#
    Dispose Lpcommandline#
    Addstring Ende der Prozedur zum Impersonifizieren anderer User

Endproc

If %Parcount=3

    Startwithuserrights @Par$(1),@Par$(2),@Par$(3)

Elseif %Parcount=4

    Startwithuserrights @Par$(1),@Par$(2),@Par$(3)

Else

    Let Eun$=@Input$(Bitte einen Usernamen eingeben: ,Login Name?,)
    Let Epw$=@Input$(Bitte das Passwort dazu eingeben: ,Passwort?,)
    Let Epr$=@Loadfile$(EXE auswählen,*.EXE)
    Let Epp$=@Input$(Programmparameter eingeben:,Parameter,)
    Startwithuserrights Eun$,Epw$,Epr$,Epp$

Endif

Dispose Domain#
Dispose Sid_size#
Dispose Domainname_size_addr#
Dispose Sid_type_indicator#
Dispose Sid#
@Editbox(Rückgaben,1)
 
16.07.2007  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.299 Views

Untitledvor 0 min.
Torben Nissen02.05.2020
E.T.06.11.2014
Frank Vorholzer14.04.2011

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie