Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помогите сформировать сводный отчёт WSUS (http://forum.oszone.net/showthread.php?t=341142)

Luka666 03-07-2019 10:14 2877876

Помогите сформировать сводный отчёт WSUS
 
Привет камрады. Тут такое дело, что не хватает у меня моего чайника чтоб создать скрипт для формирования сводного отчёта о состоянии компьютеров. У нас WSUS 3.0 SP1 стоит на 2008 серве, нужно каждую неделю отправлять этот отчёт "наверх", и хотелось бы автоматизировать этот процесс, очень!
Как состряпать чтоб при запуске скрипта, формировался сводный отчёт о состоянии компьютеров в .pdf файле???
Может кто сталкивался и подскажет что, делать, поподробнее пожалуйста!

Ageron 03-07-2019 10:18 2877877

Цитата:

Цитата Luka666
формировался сводный отчёт о состоянии компьютеров »

а сейчас в каком формате он создается?

Luka666 03-07-2019 10:26 2877881

Ageron, Сейчас он вручную создаётся в любом, в каком задашь. Я Хочу чтоб скрипт сам заставлял wsus формировать этот сводный отчёт. Я потом допилю его чтоб сохранял в положенном месте и пересылал куда надо, но сейчас мне нужно чтоб отчёт был автоматом собран. Как-то так.

Ageron 03-07-2019 11:52 2877894

смотрите в сторону 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


Luka666 31-07-2019 10:24 2882089

Хорошо, спасибо. Попробую что нить состряпать как руки дойдут, отпишусь если получится!


Время: 23:22.

Время: 23:22.
© OSzone.net 2001-