AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Ein gültiges Token für CreateProcessAsuser bekommen
Thema durchsuchen
Ansicht
Themen-Optionen

Ein gültiges Token für CreateProcessAsuser bekommen

Ein Thema von Luckie · begonnen am 9. Sep 2004 · letzter Beitrag vom 8. Jan 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 12. Sep 2004, 12:15
Das Problem warum das Code-Beispiel so lang ist ist was anderes. Man kann über lpStartupInfo festlegen welcher WindowStation/Desktop ein Prozess zugeordnet wird. Allerdings muss der Benutzer bzw die LogonSession des Benutzers unter dem der Prozess lauft auch Zugriff auf die jeweilige WindowStation und den Desktop haben. Und damit das auch der Fall ist müssen die DACLs entsprechend angepasst werden...

Ich empfehle zu diesem Thema "Programming Windows Security" von Keith Brown.

Edit: schau dir mal das an: http://www.pluralsight.com/keith/sec.../cmdasuser.zip
da is alles drinnen was du brauchst um einen Prozess unter einem anderen Benutzer zu starten..!
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 12. Sep 2004, 13:07
Danke, ich werde es mir mal ankucken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#13

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 17. Nov 2004, 08:52
Zitat von SleepyMaster:
Hmm also ich mach das immer so:

Delphi-Quellcode:
function CreateProcessWithLogonW(
  lpUsername,
  lpDomain,
  lpPassword:PWideChar;
  dwLogonFlags:dword;
  lpApplicationName: PWideChar;
  lpCommandLine: PWideChar;
  dwCreationFlags: DWORD;
  lpEnvironment: Pointer;
  lpCurrentDirectory: PWideChar;
  const lpStartupInfo: tSTARTUPINFO;
  var lpProcessInformation: TProcessInformation): BOOL; stdcall; external 'advapi32.dll';

function StartProgramm(Benutzer:string;Passwort:string;Domain:string;EXE:string):boolean;
var
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
begin
  result:=false;
  FillChar (StartupInfo, SizeOf(StartupInfo), #0);
  StartupInfo.cb := SizeOf(StartupInfo);
  if CreateProcessWithLogonW(StringToOleStr(Benutzer),StringToOleStr(Domain), StringToOleStr(Passwort), 0, StringToOleStr(Exe), nil, 0, nil, nil, StartupInfo, ProcessInfo) then
    result:=true;
end;
Hoffe das war auch das was gesucht war.
Warum kann man bei dieser Funktion nicht Programme mit Parametern starten??????
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#14

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 17. Nov 2004, 08:58
Ist nicht der Paramater nach der EXE-Datei die Paramater?
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#15

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 17. Nov 2004, 08:59
Zitat von jim_raynor:
Ist nicht der Paramater nach der EXE-Datei die Paramater?
wenn ich notepad.exe starte funktionierts.

sobald ich aber einen Parameter anhänge zb.: notepad.exe readme.txt läuft das programm nicht mehr an.

warum? eine ahnung?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 8. Jan 2005, 15:44
So, es geht einfach nicht, weil man die nötigen Privilegien nicht aktivieren kann. Ab 2000 gibt es aber CreateProcessWithLogonW und das kann das. Es muss also native API-Funktionen geben, die das ermöglichen. mal sehen, ob ich in dieser Richtung weiterkomme. Wer was weiß, nur zu, bitte melde dich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#17

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 8. Jan 2005, 15:53
Zitat von Luckie:
So, es geht einfach nicht, weil man die nötigen Privilegien nicht aktivieren kann. Ab 2000 gibt es aber CreateProcessWithLogonW und das kann das. Es muss also native API-Funktionen geben, die das ermöglichen. mal sehen, ob ich in dieser Richtung weiterkomme. Wer was weiß, nur zu, bitte melde dich.
hey luckie

mein programm läuft längst, habe das problem gelöst.
allerdings hab ich immer noch ferien.
ab montag bin ich wieder im büro und könnte nachgucken wie der source endgültig aussah

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Ein gültiges Token für CreateProcessAsuser bekommen

  Alt 8. Jan 2005, 15:58
Mit CreateProcessWithLogonW ist es ja auch kein Problem, sie dazu mein RunAsUser. Und das mit den paramtermn ist auch kein Problem. Nur gibt es eben diese API nur ab Windows 2000 und wird nicht unter Windows NT funktionieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:37 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