C# - CMD以管理员身份运行,但不能执行CHKDSK

问题描述:

我试图运行在一个CHKDSK一个命令提示符具有管理员权限启动,但我创建给我这个消息的日志文件:C# - CMD以管理员身份运行,但不能执行CHKDSK

拒绝访问你做没有足够的权限。 您必须调用此运行在提升模式下的实用程序。

这里是我的代码:

  System.Diagnostics.Process process = new System.Diagnostics.Process(); 

      process.StartInfo.CreateNoWindow = true; 
      process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
      process.StartInfo.Verb = "runas"; 
      process.StartInfo.FileName = "cmd"; 
      process.StartInfo.Arguments = "/env /user:" + "Administrator" + " cmd"; 
      process.StartInfo.CreateNoWindow = true; 
      process.StartInfo.UseShellExecute = false; 
      process.StartInfo.RedirectStandardOutput = true; 
      process.StartInfo.RedirectStandardInput = true; 
      process.Start(); 

      System.IO.StreamReader SR; 
      System.IO.StreamWriter SW; 

      Thread.Sleep(200); 

      SR = process.StandardOutput; 
      SW = process.StandardInput; 

      string command = "CHKDSK.exe" + "/C" + " > " + "\"" + "C:\\Users\\Maha\\Documents\\log.txt" + "\""; 

      SW.WriteLine(command); 

      _errorMsg = process.StandardOutput.ReadToEnd(); 
      process.WaitForExit(); 

我试图向右藏汉运行CHKDSK管理员,但没有改变。

感谢您的帮助。

问候

+0

检查http://*.com/a/16897884/1160207 –

试试这个:

打开应用程序 “清单文件”。元素requestedExecutionLevel更改为:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 

我也有类似的问题,一旦;-)

+0

谢谢。它现在完美运行!但是,一旦我的应用程序将以发布模式构建,当用户启动时,他将会按照我的想法运行它作为管理员?无论如何要避免这一点? (这是您在客户端计算机上自动启动的应用程序)。 – 3wic