Знакома ситуация: вроде бы всё обновили, службы перезапустили, а сервер всё равно ведёт себя странно? Часто причина — необходим перезапуск, о котором система молчит.
💡 Чтобы не лазить вручную по реестру, вот скрипт, который проверит, требуется ли перезагрузка:
function Test-PendingReboot {
$rebootPending = $false
$paths = @(
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending',
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired',
'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations'
)
foreach ($path in $paths) {
if (Test-Path $path) {
$rebootPending = $true
Write-Host "⏳ Pending reboot detected at: $path"
}
}
return $rebootPending
}
# Пример использования:
if (Test-PendingReboot) {
Write-Host "⚠️ Сервер требует перезагрузки!"
} else {
Write-Host "✅ Всё чисто — перезагрузка не требуется."
}
Этот скрипт можно легко интегрировать в свои проверки, в том числе в DSC, Zabbix-агенты, или просто в планировщик задач после установки апдейтов.
🛠 Кстати, начиная с Windows Server 2019 можно также использовать
Get-WindowsUpdateLog и UpdateCompliance для более глубокой аналитики.💬 А ты как отслеживаешь pending reboot? Есть любимый способ или используешь сторонние тулзы?
👉 @win_sysadmin