繁体   English   中英

从C#控制台应用程序关闭Windows Server 2008 R2计算机

[英]Shut down windows server 2008 r2 machine from c# console application

我同意,我们可以通过编程方式关闭cleint机器。 但是假设我的机器配置了Windows Server 2008 r2。 要关闭任何服务器计算机,与普通客户端操作系统计算机相比并不容易。 由于我们需要停止服务,请停止运行进程,最后,我们需要向操作系统确认已针对关闭事件跟踪程序“计划”了此关闭过程。 那么我们可以从c#控制台应用程序中做到这一点吗? 为此我需要做什么程序?

编辑:我很感谢所有答案。 但是我在写问题时想念的一件事是,只有在机器无人看管120分钟时才能执行此关闭操作。 所以还有其他方法可以检查机器的出勤率吗? 这样我就叫关机过程。

您可以使用Windows的shutdown.exe命令来执行此操作:

Process.Start("shutdown.exe", "/l /t:0");

如果您只是想摆脱输入关闭原因的对话框,则可以相应地配置注册表:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Reliability]
"ShutdownReasonOn"=dword:00000000

有一个名为Shutdown的应用程序,您可以使用Process类来调用它。

它还可以重新启动计算机,设置日志消息并重新启动远程计算机(我认为)

shutdown.exe对您不起作用吗? 请参阅http://technet.microsoft.com/en-us/library/cc770416.aspx

您需要运行Process.Start("shutdown",...); (其中...-是参数字符串)在该计算机上。

Windows Server 2008,Windows Vista和Windows 7上的UAC阻止来自非提升进程的“ shutdown.exe”。 尝试以管理员权限运行您的应用程序。

在Sysinternals Suite中,提供了所有必要的工具来终止进程,关闭服务和关闭OS。 如果您没有看到它,可以从这里: http : //technet.microsoft.com/zh-cn/sysinternals/bb842062

您可以p /调用 InitiateSystemShutdownEx ,它允许您指定事件跟踪和管理UI对话框的原因和消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM