【问题标题】:C# Process as administratorC# 以管理员身份处理
【发布时间】:2013-09-23 04:26:54
【问题描述】:

我正在尝试运行 powershell 脚本,但在此操作期间需要 powershell.exe 的管理员权限。 使用此示例一切正常

        var process = new Process();
        const string password = "pwd";
        SecureString str;

        char[] chArray = password.ToCharArray();

        unsafe
        {
            fixed (char* chRef = chArray)
            {
                str = new SecureString(chRef, chArray.Length);
            }
        }

        var info = new ProcessStartInfo
                                    {
                                        FileName = "powershell.exe",
                                        //UserName = username,
                                        //Password = str,
                                        //Domain = domain,

                                        UseShellExecute = true,
                                        Verb = "runas",
                                        Arguments = arguments

                                    };
        process.StartInfo = info;

        process.Start();

但它会调用用户帐户控制,我应该按“确定”。

如果我评论动词并将 shellexecute 设置为以非管理员权限开头的假 PS 控制台。

如何避免 UAC 以管理员权限运行 powershell.exe?

【问题讨论】:

  • 如果可能的话,恶意代码也可以这样做。你需要降低安全性
  • UAc 的存在是有原因的 :)
  • 你可以试试这些方法:makeuseof.com/tag/…
  • @Moo-Juice 是的,激怒开发者;)
  • C# 应用程序是以用户身份运行还是以管理员身份运行?

标签: c# powershell windows-7


【解决方案1】:

你必须禁用 UAC,你可以 google 以获取说明。您的应用程序的最终用户必须处理,但您可以通过更改 manifest 来确保您的应用程序具有管理员权限。

【讨论】:

    猜你喜欢
    • 2012-11-22
    • 2013-01-16
    • 2018-06-02
    • 2010-11-21
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2012-10-06
    • 2013-05-29
    相关资源
    最近更新 更多