从C#以管理员身份启动批处理文件

时间:2014-02-26 22:53:08

标签: c# batch-file

我有一个在SYSTEM帐户下运行的进程(无法更改),需要执行一系列DOS样式的命令。具体来说,它需要运行需要管理员权限的w32tm / resync。

我尝试使用“runas”动词,即使ShellExecute设置为true,它似乎也没有效果。我也尝试在本地计算机上切换到(已知)用户,但是我得到以下异常:“指定的服务不作为已安装的服务存在”。如果我以我试图切换到的用户身份运行程序,它可以正常工作(管理员在应用程序清单中设置)。

我还尝试在不使用批处理文件的情况下将每个命令作为单独的进程运行,这似乎也没有帮助。

到目前为止,我已经尝试了一切,我要么得到上述异常,要么对w32tm / resync的调用失败(表示没有管理员权限)。

感谢任何想法!

以下是用于切换用户的代码:

procInfo.FileName = scriptPath;
procInfo.UserName = "admin";
procInfo.UseShellExecute = false;
procInfo.CreateNoWindow = true;
Process.Start(procInfo);

0 个答案:

没有答案