👋 Привет, админы!
👋 Привет, админы! Если не ошибаюсь, осенью 21 года в одном из наших дата-центров после планового обновления клиентских машин начали массово падать сеансы RDP - пользователи жаловались, что после ввода пароля сессия сразу же разрывается. Оказалось, во время апдейта поставился неполностью совместимый патч безопасности, который конфликтовал с включённым на компьютерах аудиторией учетных политик. 🔥 Чтобы быстро отследить все последние установленные обновления на целевой группе машин и при необходимости откатить проблемный патч, я использовал вот такой PowerShell-скрипт: # Получаем список компьютеров из текстового файла $computers = Get-Content -Path "C:\Scripts\computers.txt" # Словарь для хранения списка установленных обновлений $updateReport = @() foreach ($computer in $computers) { try { # Получаем установленные обновления за последние 7 дней $recentUpdates = Get-HotFix -ComputerName $computer | Where-Object { $_.InstalledOn -ge (Get-Date).AddDays(-7) } foreach ($upd in $recentUpdates) { $updateReport += [PSCustomObject]@{ Computer = $computer KBArticle = $upd.HotFixID InstalledOn = $upd.InstalledOn } } } catch { Write-Warning "Не удалось получить обновления с сервера $computer: $_" } } # Сохраняем отчёт в CSV $csvPath = "C:\Scripts\RecentUpdatesReport.csv" $updateReport | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8 Write-Host "Отчет сохранен в $csvPath" С помощью этого отчёта мы быстро определили, что именно на всех проблемных ПК установился KB5005565. Чтобы откатить его удалённо, использовал команду: Invoke-Command -ComputerName (Get-Content "C:\Scripts\computers.txt") -ScriptBlock { wusa /uninstall /kb:5005565 /quiet /norestart } После перезапуска машин RDP-сессии вернулись в норму. Плюс я добавил правило на WSUS, чтобы этот конкретный патч не раздавался снова до выяснения причины конфликта.