AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateProcessAsUser vs. CreateProcessWithLogonW
Thema durchsuchen
Ansicht
Themen-Optionen

CreateProcessAsUser vs. CreateProcessWithLogonW

Ein Thema von Luckie · begonnen am 2. Jan 2005 · letzter Beitrag vom 4. Jan 2005
Antwort Antwort
Benutzerbild von Luckie
Luckie

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

CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 2. Jan 2005, 15:21
Man kann ja ein Programm unter einem anderen Benutzeraccount mit CreateProcessAsUser oder CreateProcessWithLogonW ausführen. Worin liegen da die Unterschiede bzw. Vor- und/oder Nachteile?

Das PSDK sagt:
Zitat:
The CreateProcessWithLogonW function is similar to CreateProcessAsUser, except that the caller does not need to call the LogonUser function to authenticate the user and get a token.
Aber wo ist da jetzt der Vorteil / Nachteil?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 3. Jan 2005, 23:39
Ich darf es mal nach oben schieben: *schieb*
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 3. Jan 2005, 23:55
Wenn ich das Zitat so durchlese.. du musst eine Funktion weniger aufrufen, sonst anscheinend nichts..
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#4

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 3. Jan 2005, 23:58
Zitat von Luckie:
Man kann ja ein Programm unter einem anderen Benutzeraccount mit CreateProcessAsUser oder CreateProcessWithLogonW ausführen. Worin liegen da die Unterschiede bzw. Vor- und/oder Nachteile?
Ich denke mal der große Vorteil von CreateProcessWithLogonW ist, das du dir eine Menge an Zeilen sparen kannst.
Wenn man sich das Beispiel "Starting an Interactive Client Process" unter CreateProcessAsUser im Platform SDK anschaut, ist der Unterschied an der Tipparbeit enorm. Hinzu kommt noch, das man eventuell noch manuell LoadUserProfile aufrufen muss. Ich kann mir auch vorstellen, das es irgendetwas mit Service/Dienst-Programmierung zu tun hat.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

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

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 4. Jan 2005, 00:05
Unter NT/2k benötigt man das SE_TCB_NAME Privilege um LogonUser erfolgreich aufrufen zu können. Diese Privilege besitzen allerdings nur Prozesse die in der System-LogonSession laufen - sprich Services. Ein Prozess eines normalen Benutzers bekommt per LogonUser also kein gültiges Token-Handle das er an CreateProcessAsUser übergeben kann. Bei CreateProcessWithLogonW erzeugt Windows den Token..
Manuel Pöter
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#6

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 4. Jan 2005, 14:59
Zitat von Motzi:
Bei CreateProcessWithLogonW erzeugt Windows den Token..
Sicher? Nach meinen Informationen tut dies der RunAs-Dienst. Wäre dieser also ausgeschalten, dann ginge es nicht mehr. Wenn sowieso jemand gerade Code testet, kann er das ja mal verifizieren - dazu einfach den RunAs-Dienst stoppen und auf deaktiviert setzen.
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#7

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 4. Jan 2005, 17:31
Ich hatte es damals mit CreateProcessAsUser nicht hinbekommen und habe wie im SDK beschrieben die Funktion CreateProcessWithLogonW verwendet. Hintergrund: Wir müssen bei Benutzern ohne Admin-Rechte automatisiert Software installieren.

Siehe auch ein älterer Beitrag von mir: CreateProcessAsUser

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#8

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 4. Jan 2005, 18:56
Zitat von Marcel Gascoyne:
Hintergrund: Wir müssen bei Benutzern ohne Admin-Rechte automatisiert Software installieren.
Dazu existiert eigentlich MSI. Seit v2.0 hat es ja auch einen Service, an den man diese Aufgaben delegieren kann. Kann die Administration stark erleichtern
  Mit Zitat antworten Zitat
Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#9

Re: CreateProcessAsUser vs. CreateProcessWithLogonW

  Alt 4. Jan 2005, 19:02
Zitat von Assarbad:
Dazu existiert eigentlich MSI. Seit v2.0 hat es ja auch einen Service, an den man diese Aufgaben delegieren kann. Kann die Administration stark erleichtern
Schon, aber wir haben eine Netware Umgebung wo aus dem Loginscript Batchdateien aufgerufen werden. Teilweise sind dies auch normale Anwendungen die einfach Adminrechte benötigen um z.b. eine Inventarisierung des Rechners vorzunehmen.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  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 01:57 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