以编程方式在cmista中运行cmd.exe作为adminstrator,c#

我有一个visual studio设置和部署项目.我在其中添加了一个.cmd脚本.该脚本需要管理员权限才能运行.当用户单击setup.exe时,UAC会提示用户输入管理员权限.所以我假设在setup.exe中创建和调用的所有进程都将以管理员身份运行.所以我设置调用我的控制台应用程序,其中包含以下代码.
ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);

所以它应该工作,因为它在管理员空间下运行.

我想通过c#进程类作为管理员运行cmd.exe.我正在运行windows vista.

我试过了
没用!我能做什么!

解决方法

尝试执行runas命令:
...

using System.Diagnostics;

...

string UserName = "user name goes here";
ProcessStartInfo p1 = new ProcessStartInfo();
  p1.FileName = "runas";
  p1.Arguments = String.Format("/env /u:{0} cmd",UserName);
Process.Start(p1);

...

(而且我认为你不需要一个明确的UseShellExecute)

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...