从ASP重新启动计算机.计算机上托管的网页

本文关键字:计算机 网页 ASP 重新启动 | 更新日期: 2023-09-27 17:58:52

我有一台计算机a,它托管不同类型的东西:

  • 网站(使用C#ASP.Net开发)
  • 应用程序

我们的客户可以访问该网站,有时,他们会想重新启动计算机A(知道它会在重新启动时切断网站)。

我的问题很简单:它是否存在一种方式:

  • 只需单击ASP.Net页面上的按钮即可重新启动计算机?我该如何做到这一点
  • 同样,当单击ASP.Net页面上的按钮时,是否可以执行一些批处理脚本(在计算机A上执行)

谢谢你的帮助!

从ASP重新启动计算机.计算机上托管的网页

这是一种足够安全的方法(只要密码存储安全)

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

您可以使用System来完成。诊断。进程命名空间,请查看以下链接以了解完整进程。

http://www.c-sharpcorner.com/UploadFile/yuanwang200409/RemoteRestartWindows09252006141003PM/RemoteRestartWindows.aspx

实现起来很容易,但问题是IIS是否允许。你也会对漏洞进行攻击,因为如果有人成功利用了这一点,他们可能会连锁重启你的服务器。

如果您真的想继续并实现这一点,您可以简单地设置一个Web Service调用来触发以下代码。

System.Diagnostics.Process.Start("shutdown.exe", "-r -t 0");

尽管如此,这听起来更像是你在寻找一个管理工具来处理这个问题。我建议您查看可用于帮助远程管理服务器的众多工具之一。对于安全性来说,重要的是管理软件能够赋予用户特定的权限,比如限制他们只能重新启动服务器。

您可以在命令行中从C#执行"shutdown-r"命令,请参阅这个SO问题。请注意,应用程序必须非常安全,并且在IIS下运行的应用程序必须具有足够的用户权限。

编辑:富士提出的方法效果很好,甚至不需要提高工艺(我没想到它会起作用,哇;)