如何检查Windows服务器是否需要重新启动?我正在做一个安装程序项目。当用户运行此安装程序时,如果在操作系统上有未决的重新启动,它将不会继续。如何检查服务器是否需要重新启动
回答
使用PowerShell
如果你试图确定哪个服务器需要重新启动的,你一定会喜欢这个PowerShell脚本以检查其状态。事实证明,识别待重启服务器的简单方法是检查注册表。此信息存储在注册表的HKeyLocalMachine配置单元中。 PowerShell诞生并与注册表配合使用。注册表是内置的PowerShell提供程序之一。甚至已经有一个PSDrive连接到该注册表配置单元!就像文件系统一样,您可以浏览注册表。
更改为注册表驱动器。
//设置地点也可以通过它的别名调用 - CD和SL
设置地点HKLM:
//获取-ChildItem也可以通过它的别名调用 - 迪尔和LS
获取-ChildItem
哇!超级简单,对吗? 现在你只需要知道“挂起重启”位置在哪里。有几个地方要检查。
HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WindowsUpdate \ Auto Update \ RebootRequired 通过自动更新安装的修补程序是否需要重新引导。
HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Component Based Servicing \ RebootPending 是另一个可以识别挂起重新启动的地方。
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager 还有一个。最后,还有配置管理器,如果有,可以通过WMI查询。
我发现我真的很喜欢检查所有四个位置的功能。我需要用一些参数来包装它来检查远程计算机,但总的来说这是一个很好的开始。我已经调整函数在满足的第一个条件上返回$ true,因为我只关心计算机是否正在等待重新启动,而不是重新启动源的来源。基于http://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542
function Test-PendingReboot { if (Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending" -EA Ignore) { return $true } if (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" -EA Ignore) { return $true } if (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" -Name PendingFileRenameOperations -EA Ignore) { return $true } try { $util = [wmiclass]"\.\root\ccm\clientsdk:CCM_ClientUtilities" $status = $util.DetermineIfRebootPending() if(($status -ne $null) -and $status.RebootPending){ return $true } }catch{}
return $false }
从https://gist.github.com/altrive/5329377
改编
- 1. 安装ASP.NET MVC是否需要重新启动服务器?
- 2. Bash - 如何检测apt-get是否需要重新启动
- 3. 要重新加载web.xml中无需重新启动服务器
- 4. 为什么我总是需要重新启动Rails服务器?
- 5. 如何检查solr服务器是否成功重启?
- 6. 我何时需要在Rails中重新启动服务器?
- 7. 配置更改后是否需要重新启动redmine服务器?
- 8. 如何检查另一台服务器是否启动了JavaScript?
- 9. 如何使用Curator检查Zookeeper服务器是否已启动?
- 10. 如何检查Web服务器是否启动? (C#)
- 11. Spring需要重新启动服务器刷新域对象
- 12. 如何检查当前用户是否有权重新启动Windows服务?
- 13. 重新启动服务器后重新启动WCF服务
- 14. 如何检查服务器已启动?
- 15. 如何重新启动mysql服务器?
- 16. 如何重新启动node.js服务器
- 17. 如何重新启动flask服务器?
- 18. 厨师 - 根据需要启动或重新启动服务
- 19. 如何重新启动服务器后重新启动RoR服务
- 20. Eclipse OEPE编译需要重新启动服务器
- 21. 需要重新启动App Engine服务器时修改Servlet
- 22. JSF2.0资源包需要在不重新启动服务器
- 23. Windows服务中的计时器需要重新启动
- 24. 在什么情况下需要重新启动JBoss服务器?
- 25. 铁轨 - 轮胎 - elasticsearch:需要重新启动elasticsearch服务器
- 26. 如何检查Tomcat6是否已停止并需要启动
- 27. 如何知道InnoSetup脚本是否需要重新启动?
- 28. 检查是否需要更新本地数据(Web服务)
- 29. 启动服务时是否需要添加意图过滤器?
- 30. Centos - 静态IP需要重新启动服务网络 - 不重新启动