Csharp/C#教程:为什么假冒进程返回“目录名无效”?分享


为什么假冒进程返回“目录名无效”?

我有一个需要在管理权限下运行的进程。 我需要普通的jo来运行这个过程,但是我不想让所有人都访问…所以我创建了一个简单的类,它将以管理员身份运行这个ONE任务,使用模拟。

代码是非常严格的前进,但我无法理解为什么这会崩溃。 救命??!!

我通过批处理文件运行它,我甚至将需要执行的文件复制到本地硬盘驱动器,认为这可能是通过网络运行应用程序的权限问题。

  public static Process ImpersonateProcess(string exe, string args, string Username, string Password) { ProcessStartInfo psi = new ProcessStartInfo(exe); psi.Arguments = args; psi.UseShellExecute = false; psi.UserName = Username; psi.Password = new SecureString(); foreach (char c in Password.ToCharArray()) { psi.Password.AppendChar(c); } Process proc = null; Console.WriteLine("starting..."); proc = Process.Start(psi); Console.WriteLine("started"); return proc; } 

在上面的代码中,我永远不会“开始”。 它在Process.Start(psi)中抛出一个错误,并显示“目录名无效”的错误消息。

可能是因为您没有设置WorkingDirectory属性。 根据文件:

重要的提示:

如果提供了UserName和Password,则必须设置WorkingDirectory属性。 如果未设置该属性,则默认工作目录为%SYSTEMROOT% system32。

上述就是C#学习教程:为什么假冒进程返回“目录名无效”?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1014488.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐