我正在做一个项目,我有一个在Local System Account
.
我想要做的是启动另一个应该将文件写入磁盘的进程(C++ 应用程序)。
如果我只是使用Process.Start
,那么目标应用程序也会在 下运行Local System Account
,据我所知,我不能简单地在任何地方写入文件。
出于这个原因,我试图让目标应用程序以不同的用户身份运行。
ProcessStartInfo psi = new ProcessStartInfo(@"C:\Path\to\Application.exe", parameters);
psi.UseShellExecute = false;
psi.UserName = "Username";
System.Security.SecureString sec = new System.Security.SecureString();
foreach (Char c Password)
sec.AppendChar(c);
psi.Password = sec;
psi.Domain = ".";
psi.LoadUserProfile = true;
Process.Start(psi);
但是我收到一个 Win32 异常,告诉我“访问被拒绝”。有人知道我怎样才能实现我的目标吗?