Windows Server 2008 R2 服务器管理器:如何定义控制台待处理重启状态的原因?

Windows Server 2008 R2 服务器管理器:如何定义控制台待处理重启状态的原因?

Windows Server 2008 R2 中的服务器管理器偶尔会显示警告:Console cannot refresh until computer is restarted,在这种状态下您无法使用服务器管理器添加或删除角色/功能。

很明显,这与角色/更新安装过程有关,这些过程需要重新启动才能完成(例如替换正在使用的文件或类似操作)。我如何才能更准确地确定此状态的原因?

有时,在多用户(或者应该说多管理员)环境中,您不知道同事做了哪些更改,因此最好知道为什么要重新启动服务器。

答案1

这实际上是不可能的,至少不能达到您想要的详细程度,因为 Windows 根本不会记录需要重新启动的原因的详细程度。此外,正如我在上面的评论中所说,这似乎指出了您的环境中一些相当严重的潜在问题,您应该解决这些问题 - 缺乏变更控制和糟糕的管理实践。

话虽如此,Windows 会在注册表中跟踪待定的重启状态,Technet 的 Scripting Guy 博客上有两部分博客系列介绍如何使用 PowerShell 确定此状态,这些博客系列还方便地向您展示了在哪里手动查找这些标志。(令人惊讶的是,它们在注册表中)。

从第一部分

  1. 注册表:PendingFileRenameOperations
    • 在 下HKLM\SYSTEM\CurrentControlSet\Control\Session Manager,如果有一个名为 的值PendingFileRenameOperations,它将包含重新启动时需要重命名的文件列表。

  2. 注册表:WindowsUpdate\Auto Update
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update,如果有一个名为的值RebootRequired,则表示重新启动正在等待。

  3. 注册表:基于组件的服务
    • 寻找钥匙HKLM\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending

  4. WMI:CCM_ClientUtilities(仅限 System Center Configuration Manager 客户端)
    • System Center Configuration Manager 2012 must be installed on the client. When it’s installed, the ‘ROOT\ccm\ClientSDK’ WMI class will be available. This class has a method called DetermineIfRebootPending.

如果你只想获取 PowerShell 脚本,可以在此处的第二部分中找到

答案2

相关内容