如何在以admin权限执行的进程中运行命令

本文关键字:进程 运行 命令 执行 权限 admin | 更新日期: 2023-09-27 18:10:07

我想创建一个自签名证书并使用c#程序安装它。我使用makecert制作证书,我以管理员的身份运行它,并在ProcessStartInfo中传递命令。参数但命令不执行代码中的问题是什么?

下面是我的代码:
 public void Createasnewadmin()
 {
        ProcessStartInfo info = new ProcessStartInfo();
        Process p = new Process();          
        info.FileName = Application.StartupPath+@"'makecert.exe";
        info.UseShellExecute = true;
        info.Verb = "runas"; // Provides Run as Administrator
        info.Arguments = "makecert testCert_admin_check.cer";
        //i just create sample certificate but it doesn't get created
        //The problem is above line the command doesn't get execute 
        p.StartInfo=info;
        p.Start()
  }

请告诉我问题在哪里,是不是没有以管理员身份执行?或者要执行的命令没有正确传递?

我认为它是执行作为管理员,因为我自己点击是按钮执行作为管理员,这是由windows

提示

为什么命令没有执行?还有别的办法吗?

如何在以admin权限执行的进程中运行命令

看一看你的代码,我怀疑你得到一个错误,因为你的参数是不正确的。

info.Arguments = "makecert testCert_admin_check.cer"; 
应该

info.Arguments = "testCert_admin_check.cer"; 

我认为您需要提供凭据以在管理模式下调用进程。

UserName = "Administrator", Password =,