我有一台计算机A可以承载不同类型的东西:
C#
和ASP.Net
我们的客户可以访问该网站,有时他们会想重新启动计算机A(知道它会在重启期间切断网站)。
我的问题很简单:它是否存在以下方式:
ASP.Net
页面上的按钮即可重新启动计算机?我怎么能这样做?ASP.Net
页面上的按钮是否可以执行一些批处理脚本(在计算机A上执行)?感谢您的帮助!
答案 0 :(得分:3)
这是足够安全的方法(只要密码安全存储)
ProcessStartInfo startInfo = new ProcessStartInfo("shutdown /r /f /t 5");
startInfo.UserName ="user with enough rights";
startInfo.Password ="password";
Process.Start(startInfo);
// /r - restart
// /f - force
// /t 5 - wait 5 seconds
答案 1 :(得分:1)
您可以使用System执行此操作。 Diagnostics.Process命名空间,请查看以下链接以了解完整过程。
答案 2 :(得分:1)
实现起来非常简单,但问题是IIS是否允许它。您还将打开漏洞,因为如果有人设法利用此漏洞,他们可以链重启您的服务器。
如果您真的想要继续实施此功能,您只需设置一个Web Service
调用即可触发以下代码。
System.Diagnostics.Process.Start("shutdown.exe", "-r -t 0");
虽然,听起来更像是在寻找管理工具来处理这个问题。我建议您查看可用于远程管理服务器的众多工具之一。对于安全性而言,管理软件能够为用户提供特定权限非常重要,例如限制他们只能重新启动服务器。
答案 3 :(得分:1)
您可以在命令行中从C#执行“shutdown -r”命令,请参阅this SO问题如何操作。请注意,应用程序必须非常安全,并且在IIS下运行的应用程序必须具有足够的用户权限。
编辑: 富士提出的方法运作良好,甚至不需要提升过程(我没想到它会起作用,哎呀;)