如何檢查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需要重新啓動服務網絡 - 不重新啓動