如何以管理员权限运行cmd命令

本文关键字:运行 cmd 命令 权限 管理员 | 更新日期: 2023-09-27 18:10:34

如何在管理员批准下在visual c#中运行以下命令?我还需要隐藏控制台窗口,而运行控制台。

谢谢。

private void button5_Click(object sender, EventArgs e)
    {            
        Process process = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "cmd.exe";
        startInfo.Arguments = "/C netsh wlan set hostednetwork mode=allow ssid=HotSpot key=12345678";
        startInfo.Verb = "runas";
        startInfo.UseShellExecute = true;
        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.StartInfo = startInfo;
        process.Start();
        Process wifiStart = new Process();
        ProcessStartInfo wifiStartInfo = new ProcessStartInfo();
        wifiStartInfo.FileName = "netsh.exe";
        wifiStartInfo.Arguments = "/C wlan start hostednetwork";
        wifiStartInfo.Verb = "runas";
        wifiStartInfo.UseShellExecute = true;
        wifiStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.StartInfo = wifiStartInfo;
        wifiStart.Start();
    }

如何以管理员权限运行cmd命令

Process.Start(new ProcessStartInfo {
    FileName = "netsh",
    Arguments = "wlan set hostednetwork mode=allow ssid=HotSpot key=12345678",
    Verb = "runas",
    UseShellExecute = true,
    WindowStyle = ProcessWindowStyle.Hidden
});

这将使用"runas"谓词启动一个进程,这将使shell尝试在高级特权模式下执行该进程。但实际上我们首先需要shell参与其中,因此UseShellExecute = true值。

最后一个属性告诉shell隐藏新进程窗口,但我不确定这是否适用于控制台程序。