C#: Load roaming profile and execute program as user

In an application I need to execute other programs with another user's credentials. Currently I use System.Diagnostics.Process.Start to execute the program:

public static Process Start(
   string fileName,
   string arguments,
   string userName,
   SecureString password,
   string domain
)

However this function does not load the roaming profile from the net - which is required.

I could use "runas /profile ..." to load the profile and execute the command, but that would ask for a password. There must be an more elegant way...

But where?

Answers


System.Diagnostics.ProcessStartInfo.LoadUserProfile


My solution (based on leppie's hint):

        Process p = new Process();

        p.StartInfo.FileName = textFilename.Text;
        p.StartInfo.Arguments = textArgument.Text;
        p.StartInfo.UserName = textUsername.Text;
        p.StartInfo.Domain = textDomain.Text;
        p.StartInfo.Password = securePassword.SecureText;

        p.StartInfo.LoadUserProfile = true;
        p.StartInfo.UseShellExecute = false;

        try {
            p.Start();
        } catch (Win32Exception ex) {
            MessageBox.Show("Error:\r\n" + ex.Message);
        }

Need Your Help

Is it possible to use ExtJs with WF?

extjs workflow-foundation

We have a requirement that we must use ExtJs on our project. We would also like to use Windows Workflow Foundation. Is this possible? Are there any problems using the two together?

Unit testing Spring @Service bean wrapping Activiti RuntimeService

java unit-testing spring-boot mockito activiti

I'm trying to test my service that is underneath calling Activiti's RuntimeService.