我一直认为,当您运行一个进程(domain\user) mydomain\myuser
时,使用Process.Start()
它时会使用相同的凭据启动这个新进程 - mydomain\myuser
。
我遇到的问题是我的Process.Start()
调用似乎是在 SYSTEM 帐户下创建一个进程,这导致我在启动的进程中出现权限问题(由于它所做的工作,它必须在管理员帐户下运行)。如果它改变了事情 - 我正在从windows installer 中生成这个过程(一个自定义构建的 exe) 。
有什么建议么?我已经阅读了有关 Windows 组策略(可能)对此产生影响的信息,但如果我说实话,它对我来说已经丢失了。
编辑:一个小片段:
其中exename
和commandLine
是此方法主体的参数:
ProcessStartInfo procInfo = new ProcessStartInfo(exeName, commandLine);
procInfo.WorkingDirectory = workingDirectory;
procInfo.UseShellExecute = false;
procInfo.CreateNoWindow = true;
Process process = Process.Start(procInfo);
Process.WaitForExit();
return process.ExitCode;