Try using impersonation to execute this code. Here is the class I created for instance-based impersonation:
Here is an example of how to implement it:
using (ImpersonationContext context = new ImpersonationContext("user", "password", "domain")) { if (context.Impersonating) { ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd.exe"); processStartInfo.RedirectStandardInput = true; processStartInfo.RedirectStandardOutput = true; processStartInfo.UseShellExecute = false; Process process = Process.Start(processStartInfo); if (process != null) { process.StandardInput.WriteLine("dir"); process.StandardInput.WriteLine("md test123"); } } }
source share