执行 Process.Start from Windows Service 时访问被拒绝



我正在尝试以其他用户身份从服务运行进程。

Process.Start(applicationPath, params, account, SecureStringPassword, "");

服务正在"本地系统"帐户下运行。

account参数是一个字符串,类似于"WORKSTATION6\Tester"。此用户是管理员组的成员。

"应用程序路径"是指程序文件,因此每个用户都可以从中读取。

但是每次尝试启动该过程时,我都有一个"访问被拒绝"异常。您能提供什么建议?

SecureString 页面上有一个如何使用 Process.Start 的示例。 http://msdn.microsoft.com/en-us/library/system.security.securestring(v=VS.90).aspx#Y682

我认为您需要做的是将用户帐户的域放在最后一个参数中,如下所示:

Process.Start(applicationPath, params, "Tester", SecureStringPassword, "WORKSTATION6");

最新更新