C#以管理员身份处理

时间:2013-09-18 12:03:15

标签: c# powershell windows-7

我正在尝试运行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();

但是它调用了User Account Controll,我应该按“OK”。

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

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

1 个答案:

答案 0 :(得分:1)

你必须禁用UAC,你可以谷歌获取指示。您的应用的最终用户必须处理,但您可以通过更改manifest来确保您的应用具有管理权限。