从Windows服务执行Process.Start时拒绝访问

时间:2011-05-10 10:50:03

标签: c# .net windows-services

我正在尝试以另一个用户身份从服务运行流程。

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

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

account参数是一个类似“WORKSTATION6 \ Tester”的字符串。此用户是Administrators组的成员。

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

但每次尝试启动此过程时,我都会遇到“拒绝访问”异常。你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

有一个如何在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");