允许系统帐户启动模拟进程

本文关键字:启动 模拟 进程 许系统 系统 | 更新日期: 2023-09-27 18:37:03

我正在做一个项目,其中我有一个在Local System Account下运行的Windows服务。

我想做的是启动另一个进程(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异常,告诉我"访问被拒绝"。有人知道我如何实现我的目标吗?

允许系统帐户启动模拟进程

检查文件系统权限。您使用的用户是否具有指定应用程序的执行权限?