Windows Gpupdate -
:: Show pending reboot/logoff echo. echo [INFO] Checking pending actions... gpresult /scope computer /z | findstr /i "Reboot required" > nul if %errorLevel% equ 0 ( echo [ACTION] Computer reboot is REQUIRED. set PENDING=REBOOT ) else ( gpresult /scope user /z | findstr /i "Logoff required" > nul if %errorLevel% equ 0 ( echo [ACTION] User logoff is REQUIRED. set PENDING=LOGOFF ) else ( echo [OK] No reboot or logoff required. set PENDING=NONE ) )
echo. echo [DONE] Log saved to: %LOGFILE% pause exit /b 0 More flexible, supports remote computers. Save as Invoke-GPUpdate.ps1 . windows gpupdate
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss" $logFile = "$env:TEMP\GPUpdate_$ComputerName`_$timestamp.log" :: Show pending reboot/logoff echo
Write-Host "Log saved to: $logFile" :: Force policy update & wait up to 5 minutes gpupdate /force /wait:300 :: Force & reboot if necessary (for security policies) gpupdate /force /boot set PENDING=REBOOT ) else ( gpresult /scope user
📌 Quick Reference Card (for daily use) | Task | Command | |------|---------| | Refresh both User & Computer policies (foreground) | gpupdate /force | | Refresh only Computer policy | gpupdate /target:computer | | Refresh only User policy | gpupdate /target:user | | Refresh & reboot if needed | gpupdate /boot | | Refresh & logoff if needed | gpupdate /logoff | | Refresh synchronously (apply sequentially) | gpupdate /sync | | Wait indefinitely for policy to finish | gpupdate /wait:0 | | See what changed (no action) | gpupdate /? | 🚀 Advanced Batch Script: SmartGPUpdate.cmd Save this as SmartGPUpdate.cmd and run as Administrator — it auto-detects domain membership, logs results, and offers reboot/logoff.