azure Windows Server在重新启动后未启动

cwdobuhd  于 2023-08-07  发布在  Windows
关注(0)|答案(2)|浏览(153)

我在Azure中的Windows Server上有一个dotnet应用程序。我添加了重新启动Windows的计划任务。我使用了下面的代码。Windows关闭但未在计划的时间重新启动。当我在正常的Windows电脑上尝试相同的代码部分时,它运行得很流畅。你能帮我解决这个问题吗?

ProcessStartInfo startInfo = new("shutdown", "/r")    
{       
    WindowStyle = ProcessWindowStyle.Hidden,       
    ErrorDialog = false    
};

字符串
我想在重新启动后重新启动Windows服务器。我是否应该更改Azure Portal中的某些设置以自动重新启动它?

a7qyws3x

a7qyws3x1#

shutdown命令中的**/t开关要求在重启或关机之前有一个以秒为单位的时间延迟。但是,在代码中,使用/t**开关时没有指定任何时间延迟,这可能是服务器立即关闭但不重新启动的原因。
试试这个
第一个月

WindowStyle = ProcessWindowStyle.Hidden,

 ErrorDialog = false

字符串
};
这将在延迟60秒后重新启动服务器

更新如果皇家TSX中的连接断开,运行重启代码后无法重新启动,可能是因为重启过程正在终止负责处理远程桌面连接的应用程序或服务。我们可以尝试注销服务器,然后重新启动它,我相信这不会中断远程连接,它可以启动备份。

试试这个更新的代码

ProcessStartInfo logoffInfo = new ProcessStartInfo("logoff", "/f")
{
    WindowStyle = ProcessWindowStyle.Hidden,
    ErrorDialog = false
};

Process.Start(logoffInfo).WaitForExit();

ProcessStartInfo restartInfo = new ProcessStartInfo("shutdown", "/r /t 60")
{
    WindowStyle = ProcessWindowStyle.Hidden,
    ErrorDialog = false
};

Process.Start(restartInfo);
`

gmol1639

gmol16392#

我终于找到了答案。

ProcessStartInfo startInfo = new("shutdown", "/r")    
{       
    WindowStyle = ProcessWindowStyle.Hidden,       
    ErrorDialog = false    
};

字符串
此代码部分仍在为重新启动工作,但其本身已不够用。Azure VM需要登录才能运行我的bat文件。
我用了这个自动登录程序。而且效果很好.
https://learn.microsoft.com/en-us/sysinternals/downloads/autologon
如果需要在启动时运行cmd文件。首先,创建一个bat文件,并将命令行提示符放入其中。
1.按“Start(开始)”,键入“Run(运行)”,然后按Enter键
1.在“Run(运行)”窗口中,键入shell:startup打开“Startup(启动)”文件夹.
1.打开Startup文件夹后,单击文件夹顶部的Home选项卡。然后,选择“粘贴”将快捷方式文件粘贴到“启动”文件夹中。(https://www.computerhope.com/issues/ch000322.htm#:~:text=运行批处理文件加载Windows和文件到“启动”文件夹。)
然后您的程序将在自动重新启动后启动。

相关问题