从ASP重新启动计算机.计算机上托管的网页
本文关键字:计算机 网页 ASP 重新启动 | 更新日期: 2023-09-27 17:58:52
我有一台计算机a,它托管不同类型的东西:
- 网站(使用
C#
和ASP.Net
开发) - 应用程序
我们的客户可以访问该网站,有时,他们会想重新启动计算机A(知道它会在重新启动时切断网站)。
我的问题很简单:它是否存在一种方式:
- 只需单击
ASP.Net
页面上的按钮即可重新启动计算机?我该如何做到这一点 - 同样,当单击
ASP.Net
页面上的按钮时,是否可以执行一些批处理脚本(在计算机A上执行)
谢谢你的帮助!
这是一种足够安全的方法(只要密码存储安全)
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下运行的应用程序必须具有足够的用户权限。
编辑:富士提出的方法效果很好,甚至不需要提高工艺(我没想到它会起作用,哇;)