C#以管理员身份启动命令

Jer*_*myK 5 c#

我正在尝试以管理员身份启动csript(登录的帐户具有管理员权限).将startinfo.verb设置为runas不起作用.

ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cscript";
p1.Arguments = "I:\\WPKG\\wpkg.js /synchronize /quiet /nonotify";
Process p = new Process();
p.StartInfo = p1;
p.Start();
Run Code Online (Sandbox Code Playgroud)

我可以通过权限启动它的唯一方法是手动设置用户名和密码.但是,我无法对该信息进行硬编码或将其置于配置中.有没有办法让cmd在没有登录信息的情况下提升?

我也试过在上面的代码周围添加使用(System.Security.Principal.WindowsIdentity.GetCurrent().Impersonate())也没有运气.

注意:如果我直接运行bat文件,它可以工作,如果我使用密码硬编码运行,它可以工作.它只能在没有登录信息的情况下提升从C#的启动.

Jer*_*Gee 1

这个实用程序:

http://jpassing.com/2007/12/08/launch-elevated-processes-from-the-command-line/

可能有帮助。另请注意该帖子中的评论。