C#使用管理员权限打开cmd执行命令行

最近遇到个棘手的问题,服务器远程连不上,但是ftp可以,可能远程连接的服务挂了或者防火墙入站规则有点问题,想要重启,得找机房工作人员,还是挺麻烦的

想了想可以上传个执行cmd命令的东西,然后远程访问触发,执行命令添加一条入站规则,但是呢一般的命令行又不够权限,只能以管理员权限打开才能执行这个

命令,往入站规则里面先添加一条规则:【netsh advfirewall firewall add rule name=\"allow 24897\" protocol=TCP dir=in localport=24897 action=allow】,网上找

了半天也没找到,好不容易找着了,赶紧写篇文记下来备用,代码如下

   //如果iis有足够的权限是ok 的
    public static void ExecuteCommandAsAdmin()
    {
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        startInfo.FileName = "cmd.exe";
        startInfo.Arguments = "/C netsh advfirewall firewall add rule name=\"allow 24897\" protocol=TCP dir=in localport=24897 action=allow&exit";
        startInfo.Verb = "runas";
        process.StartInfo = startInfo;
        process.Start();
        process.WaitForExit();
        process.Close();
    }

这段代码执行成功的前提是iis够权限,不然会出现拒绝访问错误

原文地址:https://www.cnblogs.com/virtualWindGuest/p/10886617.html

时间: 2024-07-30 09:49:14

C#使用管理员权限打开cmd执行命令行的相关文章

C# 调用CMD执行命令行

这几天用c#做了一个项目,其中一个功能是要把生成的临时文件隐藏,同时,不能在屏幕上有调用CMD的痕迹,这里生成的临时文件的绝对路径为delfile为文件的绝对路径, 代码如下: private void HiddenFile() { System.Diagnostics.Process proRestart = new System.Diagnostics.Process();    //创新Process proRestart.StartInfo.WindowStyle = System.Di

如何设置默认以管理员权限运行cmd

设置cmd以管理员权限运行 目的:创建或删除文件等命令时,需要管理员权限运行cmd(linux以root用户登录). 例如,创建日志目录. 方法一: 1.激活administrator用户 2.administrator登录 3.cmd管理员方式运行命令: net user administrator  /active:yes 方法二:修改注册表 1.Win+R – regedit 2.位置HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Curre

RobotFramework环境配置:默认以管理员权限运行cmd

设置cmd以管理员权限运行 目的:创建或删除文件等命令时,需要管理员权限运行cmd(linux以root用户登录). 例如,创建日志目录. 方法一: 1.激活administrator用户 2.administrator登录 3.cmd管理员方式运行命令: net user administrator  /active:yes 方法二:修改注册表 1.Win+R – regedit 2.位置HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Curre

让win7变成无线路由(需要用管理员权限打开)最后完善.rar

让win7变成无线路由(需要用管理员权限打开)最后完善.bat @ECHO OFF CLS color 0a netsh wlan show drivers ECHO.★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ECHO.★以上是你的无线网卡信息,查看你的网卡是否支持承载网络★ ECHO.★ ★ ECHO.★ 持请更新一个通过微软认证的驱动! ★ ECHO.★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ECHO. ECHO. GOTO MENU :MENU ECHO.

C#程序调用CMD执行命令

在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统.输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机.总之,它非常有用.打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车.它也可以执行BAT文件. 下面介绍使用C#程序调用cmd执行命令: 代码: 1 using System; 2 using System.Coll

UAC相关问题分析--使用管理员权限打开VisualStudio,无法访问网络磁盘,无法拖拽文件

搬运自http://wurang.me/2014/06/17/uac-problems.html [问题产生] 问题最初是在administrator权限下,visual studio 打开网络磁盘下的文件报错.经过几次调试,最终发现是问题是在管理员权限下,vs无法访问网络磁盘. Console.Write( System.IO.File.Exists(path)); 该结果返回False.为了确认是由于权限问题引起,使用非管理员权限打开vs,运行上面的程序,结果返回True. 至此问题确立:w

C#程序调用cmd执行命令(转)

C#通过程序来调用cmd命令的操作 string str = Console.ReadLine(); System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 p.StartInfo.RedirectStandardInput = true

HTTP could not register URL http://+:86/. 设置VS默认以管理员权限打开

在使用visual studio 2013启动self host webapi时候碰到下面的错误: 详细错误信息如下: HTTP could not register URL http://+:86/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details 大概意思是和安全相关的问题, 可以按照http://g

如何创建管理员权限的CMD命令提示符窗口

最近在使用netstat -anob命令时提示 请求的操作需要提升. 总结了几种创建管理员权限的CMD命令行的方法. 创建临时管理员权限的CMD 1.Win8系统: 按下windows徽标,直接输入cmd,右键点击命令提示符选择“使用管理员权限运行”即可 2.Win7系统: 操作与Win8系统无异,开始-运行-cmd-右键-以管理员身份运行 3.某个程序或某个BAT需要使用管理员权限运行,直接右键选择即可 创建永久的管理员权限的CMD命令行 4.创建一个默认管理员权限的快捷方式 在任意位置右键-