Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


Сообщения: 427
Благодарности: 72

Профиль | Отправить PM | Цитировать


смотрите в сторону Microsoft.UpdateServices.Administration
готового решения не скажу, но ваша задача выполнима


простой код, для простой таблицы, запускать под админом wsus

Код: Выделить весь код
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")

$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer('wsus3.moscow.eld.local', $False, 8530)

$computerscope = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
$updatescope = New-Object Microsoft.UpdateServices.Administration.UpdateScope

$wsus.GetSummariesPerComputerTarget($updatescope,$computerscope) | Select @{L='ComputerTarget';E={($wsus.GetComputerTarget([guid]$_.ComputerTargetId)).FullDomainName}}, @{L='NeededCount';E={($_.DownloadedCount + $_.NotInstalledCount)}}, DownloadedCount, NotInstalledCount, InstalledCount, FailedCount | ConvertTo-Html -Fragment

$groups = @{}
$wsus.GetComputerTargetGroups() | ForEach {$groups[$_.Name]=$_.id;$groups[$_.ID]=$_.name}
$pcgroup = @($wsus.GetComputerTargets($computerscope) | Where {$_.ComputerTargetGroupIds -eq $groups['WorkOffice12']}) | Select -expand Id

$wsus.GetSummariesPerComputerTarget($updatescope,$computerscope) | Where {$pcgroup -Contains $_.ComputerTargetID} | Format-Table @{L='ComputerTarget';E={($wsus.GetComputerTarget([guid]$_.ComputerTargetId)).FullDomainName}}, @{L='NeededCount';E={($_.DownloadedCount + $_.NotInstalledCount)}}, DownloadedCount, NotInstalledCount, InstalledCount, FailedCount
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:52, 03-07-2019 | #4