最近遇到個棘手的問題,服務器遠程連不上,但是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夠權限,不然會出現拒絕訪問錯誤