Bonjour,

J'utilise un script qui me permet d'à partir d'un fichier texte contenant des numéro de KB, de pouvoir réaliser un historique journalier de l'état de ces KB sur mon parc (Installée, échouée, Inconnu etc).

Je souhaiterai étendre cette recherche sur les serveurs de downstream mais je ne sais pas trop comment m'y prendre pour ne pas tomber dans des complications inutiles.

Voici le script en question :

function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
WSUSSearchByTargetGroups([string]$update){
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer()
$wsus.SearchUpdates($update) | where { ( $_.'Title' -like '*2008 R2*' ) -or ( $_.'Title' -like '*7*') -or ( $_.'Title' -like '*XP*') } |
ForEach-Object{
[DateTime]::UtcNow.ToShortDateString()
$kbname = $_.KnowledgebaseArticles
$_.GetSummaryPerComputerTargetGroup()
}
}
$Choice = Get-Content updates.txt 
foreach ($kb in $Choice)
{
write-host $kb
WSUSSearchByTargetGroups $kb | Format-table -hideTableHeaders -property InstalledCount,InstalledPendingRebootCount,DownloadedCount,NotInstalledCount,FailedCount,UnknownCount | Out-File updates.csv
 
$updatesfile = get-content updates.csv
$updatesfile = $updatesfile -replace('\s+',",")
$final = $updatesfile[0] + $updatesfile[2]
$final >> $("D:\Stats\" + $kb + ".csv")
del updates.csv
}
J'ai essayé de travailler avec "GetDownstreamServers()" , de récupérer les adresses des serveurs et de réaliser une boucle pour chaque serveur sur lesquels il récupérerait les informations demandées. Sans résultats probant.

Merci.