【问题标题】:How do I disable Windows reboot regardless of install state?无论安装状态如何,如何禁用 Windows 重新启动?
【发布时间】:2015-08-13 14:06:36
【问题描述】:

我目前正在编写一个批处理文件,其中包括执行 .net、IIS、MSSQL、MSSQL SP2、flash 的无人值守安装,安装一些专有软件,最后在 Windows 服务器上进行大量环境更改2008 或 2012 平台。所有这些都是一次性完成的。

该脚本运行良好,除了在一种情况下:如果 Windows 处于部分更新状态,可能需要重新启动,.net 或 IIS 将强制我重新启动,无论我是否将/norestart 切换到 DISM。

有没有办法在批处理文件中禁用任何重新启动的需要,以使 DISM 和/或 SQL 安装不会询问或要求它?或者,不太有利的是,从批处理文件中确定是否需要重新启动的方法?我不喜欢它,但如果需要,我可以进行检查并强制使用 shutdown -r

感谢您的帮助。

【问题讨论】:

    标签: windows batch-file restart


    【解决方案1】:

    不同的程序检测重启操作系统的必要性不同,最流行的方法之一是检查HKLM\SYSTEM\CurrentControlSet\Control\Session Manager -> PendingFileRenameOperations 值。

    reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations >nul
    if errorlevel 1 (
        echo OK
        ....proceed with stuff
    ) else (
        echo Restart is required
        pause
        exit
    )
    

    虽然您可以在将其内容转储到 reg 文件并稍后重新导入后临时删除此值,但这很可能会破坏您的系统,除非您将旧内容与新添加的内容按历史顺序(旧的,新的,维护版本和东西),这将需要 vbs 或 powershell 代码或一些实用程序。

    【讨论】:

      猜你喜欢
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-29
      • 1970-01-01
      相关资源
      最近更新 更多