AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CreateProcessAsUser

Ein Thema von renekr · begonnen am 2. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

CreateProcessAsUser

  Alt 2. Apr 2006, 19:57
Hi,

habe so meine Probleme mit der Function CreateProcessAsUser.

Will im Prinzip zb. die Registry ändern,Dateien schreiben,ändern in denen User nix machen dürfen und sollen (nur das Tool ).

zb. Für Autologin ,usw.

Lokalen Admin und PA und Domäne kenne ich.

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: CreateProcessAsUser

  Alt 2. Apr 2006, 19:59
Hallo renekr,

wo liegen denn die Probleme, die du mit der Funktion hast?
Julian J. Pracht
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: CreateProcessAsUser

  Alt 2. Apr 2006, 20:45
Hallo,

also beim aufruf:

Ich will im Prinzip nur etwas ausführen als User aber mit Rechte von Admin.
Also nicht ein Programm Starten mit Admin Rechten.


zb. Autologin Write auf Local MAchine in Registry, oder User auslesen,ändern usw.
CreateProcessAsLogon('Administrator', 'passwort', 'Notepad.exe', 'c:\boot.ini') Was muss ich dann zb angeben wenn ich eine Funtion ausführen will

SetAutoLogin(const Machine, User, PW: string): LongInt; Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: CreateProcessAsUser

  Alt 2. Apr 2006, 23:28
Habe ich dir doch schon per PN geschrieben: MSDN-Library durchsuchenImpersonateLoggedOnUser-
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: CreateProcessAsUser

  Alt 3. Apr 2006, 09:35
Danke,
habe leider damit noch nix gemacht und Blick nicht so durch.


Dem ImpersonateLoggedOnUser muss ich ja ein Access Token mitgeben?
muß i dann vorher LogonUser machen?


PS: gibt es auch ne möglichkeit ev. das User Passwort zu prüfen ob es ok ist?Also das Windows ( Domänen ) Login Passwort !!
Ich will es nicht auslesen nur Checken ob das eingegebene das selbe ist und ein Logon gehn würde.

Danke.
  Mit Zitat antworten Zitat
microtronx

Registriert seit: 8. Mär 2005
Ort: Tapfheim
55 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: CreateProcessAsUser

  Alt 9. Apr 2006, 22:21
Hallo Renekr,

probier mal folgendes:

Delphi-Quellcode:
function WinExecAsUser(FileName, Commandline: string; domain:string; username: string; password:string; Visibility:integer; var errormessage:string):boolean;
var
        StartupInfo : _startupinfow;
        ProcessInfo : TProcessInformation;
        h : thandle;
        vtmp : string;
        wcurdir, wfilename, wcommandline, wdomain, wusername, wpassword:pwidechar;
begin
        GetStartupInfoW(startupinfo);
        FillChar(StartupInfo, Sizeof(StartupInfo), #0);
        StartupInfo.cb := Sizeof(StartupInfo);
        StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
        StartupInfo.wShowWindow := Visibility;
        // if not LogonUser(pchar(username), pchar(domain), pchar(Password),LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT, h) then ShowMessage(SysErrorMessage(GetLastError));

        vtmp:=extractfilepath(filename);
        GetMem( wcurdir, length(vtmp) * SizeOf( WideChar ) + SizeOf(WideChar ) ) ;
        StringToWideChar( vtmp, wcurdir, Length( vtmp ) * SizeOf(WideChar ) + SizeOf( WideChar ) ) ;

        commandline:=' '+trim(trim(filename)+' '+trim(commandline));
        filename:='';

        GetMem( wpassword, length(password) * SizeOf( WideChar ) + SizeOf(WideChar ) ) ;
        GetMem( wusername, length(username) * SizeOf( WideChar ) + SizeOf(WideChar ) ) ;
        GetMem( wdomain, length(domain) * SizeOf( WideChar ) + SizeOf(WideChar ) ) ;
        GetMem( wFileName, length(FileName) * SizeOf( WideChar ) + SizeOf(WideChar ) ) ;
        GetMem( wCommandline, length(Commandline) * SizeOf( WideChar ) + SizeOf(WideChar ) ) ;

        StringToWideChar( password, wpassword, Length( password ) * SizeOf(WideChar ) + SizeOf( WideChar ) ) ;
        StringToWideChar( username, wusername, Length( username ) * SizeOf(WideChar ) + SizeOf( WideChar ) ) ;
        StringToWideChar( domain, wdomain, Length( domain ) * SizeOf(WideChar ) + SizeOf( WideChar ) ) ;
        StringToWideChar( FileName, wFileName, Length( FileName ) * SizeOf(WideChar ) + SizeOf( WideChar ) ) ;
        StringToWideChar( Commandline, wCommandline, Length( Commandline ) * SizeOf(WideChar ) + SizeOf( WideChar ) ) ;

        result:=false; errormessage:='';

        result:=CreateProcessWithLogonW(wusername,wdomain,wpassword,0, nil, wcommandline,0, nil, wcurdir,StartupInfo , ProcessInfo);
        if result=false then errormessage:=sysErrorMessage(Getlasterror);
end;
Das hatte ich mir irgendwann mal zusammengestellt und ich glaube das das auch funktioniert hat. Probiers einfach.

Mfg.
Yusuf Zorlu
yusuf.zorlu@microtronx.com

Meine Arbeit ist so geheim ... ich habe selbst keine Ahnung was ich überhaupt mache!
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: CreateProcessAsUser

  Alt 10. Apr 2006, 10:43
Danke.
Werde ich tun,aber das ist nicht genau das was ich will.

Ich will nix öffnen,also keinen Explorer ,Registry usw.

Ich will quasi in der Registry einen Wert ändern,löschn das nur mit admin Rechten geht.
Aktuell bin ich aber User.
oder
Die Datei Berechtigungen ändern.


Ich kenne aber den Admin und das Passwort.

Also nur im Hintergrund.


Danke
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz