Azure中Windows Server执行重启代码后仅关机不重启问题求助
解决Azure Windows Server中调用shutdown /r仅关机不重启的问题
原因分析及解决步骤
调整shutdown命令参数
Azure虚拟机后台可能存在进程阻止重启,建议给命令添加强制关闭和立即执行参数,修改后的命令为:shutdown /r /f /t 0。对应代码修改如下:ProcessStartInfo startInfo = new("shutdown", "/r /f /t 0") { WindowStyle = ProcessWindowStyle.Hidden, ErrorDialog = false };/f会强制关闭所有运行中的程序,避免进程卡住导致重启失败;/t 0设置立即执行操作。检查计划任务权限配置
计划任务必须以**本地系统账户(Local System)**运行,同时勾选以下选项:- 不管用户是否登录都要运行
- 使用最高权限运行
普通用户权限无法触发系统级的重启操作,必须确保任务拥有足够权限。
启用Azure VM自动启动功能
部分场景下Azure VM关机后不会自动启动,需要在Azure门户配置:- 进入目标虚拟机详情页
- 找到左侧菜单的「自动启动」选项
- 启用自动启动功能并保存设置
这样系统关机后会自动触发重启动作。
直接用计划任务执行命令(替代方案)
如果通过dotnet程序调用仍有问题,可以跳过程序,直接在计划任务中设置动作:
动作类型选「启动程序」,程序或脚本填shutdown,添加参数填/r /f /t 0,减少程序层面的潜在问题。
验证方法
先在Azure VM的命令提示符中手动执行shutdown /r /f /t 0,确认系统能正常重启,再测试计划任务或dotnet程序的执行效果。
内容的提问来源于stack exchange,提问作者tugba
相关产品推荐
相关产品推荐

