508просмотров
18 декабря 2024 г.
📷 ФотоScore: 559
Задача: Взять список серверов и удаленно на каждом из них проверить установлено определенное обновление или нет. Для таких вещей отлично подходит PowerShell # 1. Взять список серверов из файла и положить в переменную
$servers = Get-Content -Path "C:\Temp\RDS\dc-servers.txt" # 2. На каждом сервере удаленно проверяем наличие обновлений и версию ОС
$results = foreach ($server in $servers) { # Получаем информацию о версии ОС $osInfo = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $server -ErrorAction SilentlyContinue # Проверяем наличие обновлений $update1 = Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName $server -ErrorAction SilentlyContinue | Where-Object { $_.HotFixID -eq "KB5048654" } $update2 = Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName $server -ErrorAction SilentlyContinue | Where-Object { $_.HotFixID -eq "KB5048661" } # Формируем результаты [PSCustomObject]@{ ServerName = $server KB5048654 = if ($update1) { $true } else { $false } KB5048661 = if ($update2) { $true } else { $false } OSVersion = if ($osInfo) { $osInfo.Caption + " " + $osInfo.Version } else { "Не удалось получить информацию" } }
} # Выводим результаты
$results | Format-Table -AutoSize Еще больше скриптов на https://pyatilistnik.org/exchange/ #Security #WindowsUpdate