公司整天在問windows update有沒有安裝完有點煩了,讓Copilot+Gemini生成個powershell command,我再包成batch。不知道顯示更新狀態的有沒有用,至少更新時間和電腦名稱是正確的。故意echo on讓IT看他們少做了甚麼。
##ReadMore##chk_update.bat
chcp 65001
powershell -NoProfile -ExecutionPolicy Bypass -Command "$AutoUpdate = New-Object -ComObject Microsoft.Update.AutoUpdate; $LastCheck = if ($AutoUpdate.Results.LastSearchSuccessDate) { ([datetime]$AutoUpdate.Results.LastSearchSuccessDate).ToLocalTime() } else { '無紀錄' }; $Session = New-Object -ComObject Microsoft.Update.Session; $Searcher = $Session.CreateUpdateSearcher(); $Result = $Searcher.Search('IsInstalled=0'); $Status = if ($Result.Updates.Count -eq 0) { '已是最新狀態 (無待裝更新)' } else { '不是最新狀態 (尚有 ' + $Result.Updates.Count + ' 個更新未安裝)' }; Write-Host '==============================' -ForegroundColor Cyan; Write-Host ('電腦名稱 : ' + $env:COMPUTERNAME) -ForegroundColor Yellow; Write-Host ('最後檢查 : ' + $LastCheck) -ForegroundColor Gray; Write-Host ('更新狀態 : ' + $Status) -ForegroundColor Green; Write-Host '==============================' -ForegroundColor Cyan"
pause
Result
============================== 電腦名稱 : xxxxx 最後檢查 : 08/27/2026 11:22:12 更新狀態 : 已是最新狀態 (無待裝更新) ==============================
沒有留言:
張貼留言