DotNet中我们以其他用户身份运行程序,主要使用Process类设置其StartInfo中的userName和PassWord属性,然后调用Start。但是如果父进程是System用户,这种方法就失效了,提示“拒绝访问”的错误。
想不通其中的原因,于是作了一个实验,使用服务启动一个System用户的进程Cmd,执行runas命令,模拟administrator用户执行程序,同样提示“拒绝访问”的错误。
于是得到了结论: System进程无法创建一个Administrator用户的子进程。
那位高手可以告诉我Why?