Solved

WinLogon, Impersonate and CreateProcess (CreateProcessAsUser)

Posted on 2003-11-08
14
1,639 Views
Last Modified: 2013-12-03
Hi Experts,

This is a question about WinLogon and how to start a new process within the users context.

The dll are registered in the Registry under the following key :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\....], Asynchronous=0, Impersonate=1.

I would like to start a program when the user login.
I dont have any problems about receiving the 'Logon' notification and create a new process.
The problem is that the new process is created in the same security context as the dll - which means that the program dont terminates on logout.
I guess that the dll runs in the same context as Services does, not sure.

Impersonate (from microsoft.com) :
>>Indicates whether Winlogon should impersonate the security context  of the logged-on user when it calls the notification package functions. If this value is set to 1, Winlogon uses impersonation. Otherwise, it does not.

If WinLogon impersonate it should be possible to use CreateProcess. But it doesn't seem to work - the process is not created in the users context.

I guess that i just got something wrong here - any ideas ??

Kind Regards
Peter
0
Comment
Question by:PeterLarsen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
14 Comments
 
LVL 86

Expert Comment

by:jkr
ID: 9707762
Check out http://www.microsoft.com/msj/0599/security/security0599.aspx - it comes with sample code on how to do that.
0
 
LVL 2

Author Comment

by:PeterLarsen
ID: 9725929
Hi jkr,

I already have several links about this issue.
What i need help to, is to understand e.g. what the impersonation in WinLogon actually does - or how i load (if necessarily) users environment before calling CreateProcessAsUser.
0
 
LVL 86

Expert Comment

by:jkr
ID: 9726072
>> or how i load (if necessarily) users environment before calling CreateProcessAsUser

The above article describes that :o)
0
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 
LVL 2

Author Comment

by:PeterLarsen
ID: 9726403
nah, you are talking about cmdasuser i guess - not usefull here since i'm using Winlogon in this case.
0
 
LVL 86

Expert Comment

by:jkr
ID: 9736849
Yes, but it also illustrates how to initialize the environment.
0
 
LVL 2

Author Comment

by:PeterLarsen
ID: 9741791
I need help to understand this - no more whitepapers please !!
0
 
LVL 86

Expert Comment

by:jkr
ID: 9742153
0
 
LVL 2

Author Comment

by:PeterLarsen
ID: 9742508
But does the samples interact with WinLogon ??
0
 
LVL 86

Expert Comment

by:jkr
ID: 10801425
I'd say the code given in the download link answers the question.
0
 
LVL 2

Author Comment

by:PeterLarsen
ID: 10805624
No it doesn't - i still don't know how Impersonation interact with Winlogon.
0
 
LVL 2

Author Comment

by:PeterLarsen
ID: 10840443
Thank you.
0
 

Accepted Solution

by:
CetusMOD earned 0 total points
ID: 10870064
PAQed, with points refunded (300)

CetusMOD
Community Support Moderator
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Problem to DocumentFormat 8 147
SignTool Error with Windows 10 5 258
Convert GUI app into console app for Win32 Env 5 136
Starting to use Git with Visual  Studio Online 1 69
This article describes a technique for converting RTF (Rich Text Format) data to HTML and provides C++ source that does it all in just a few lines of code. Although RTF is coming to be considered a "legacy" format, it is still in common use... po…
zlib is a free compression library (a DLL) on which the popular gzip utility is built.  In this article, we'll see how to use the zlib functions to compress and decompress data in memory; that is, without needing to use a temporary file.  We'll be c…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question