Page 1 sur 1

WSUS - synchronisation upstream - downstream

Publié : lun. 06 nov. 2017, 15:46
par maxmorloks1
bonjour,

j'ai beau chercher je ne trouve pas de solution,
j'ai remarqué que pour récupérer les infos d'un downstream (nouveaux clients WSUS, date de rapport, etc ..) il faut aller sur le UPstream et lancer une synchronisation.

ce qui me dérange puisque qui dit synchro dit application des règles d'approbation automatique, hors je n'ai pas du tout envie d'approuver des patch régulièrement, ou en d'autres termes, je n'ai pas envie d'appliquer des patch en voulant simplement savoir si les clients WSUS rattachés à mon downstream communiquent biens avec leur serveur WSUS.

Ma question est donc la suivante: existe t il un moyen d'uniquement synchroniser un upstream avec son downstream ? sans passer par la case récupération de patch.

en vous remerciant
maxime

[CLOTURE] WSUS - synchronisation upstream - downstream

Publié : jeu. 25 janv. 2018, 9:29
par maxmorloks1
pour répondre à cette problématique nous avons désactivé toutes les approbations automatique pour tout gérer via powershell et taches planifiées.

maxime

Re: WSUS - synchronisation upstream - downstream

Publié : jeu. 25 janv. 2018, 10:38
par magnancc51
Merci du retour :)

Re: WSUS - synchronisation upstream - downstream

Publié : jeu. 25 janv. 2018, 10:55
par maxmorloks1
pour aller plus loin je vous joins le contenu de l'un de ces scripts.


# on récupère les info du serveur local

Code : Tout sélectionner

$wsus = Get-WsusServer
# on récupère la date du jour

Code : Tout sélectionner

$startTime = (get-date -f MM-dd-yyyy)
# a cette date du jour on retire 21 jours

Code : Tout sélectionner

$startTime2 = (get-date).AddDays(-21).ToString("MM-dd-yyyy")
# Déclaration d'un path + fichier format csv

Code : Tout sélectionner

$file = "\\fileshare\share\KB-serveurs-$startTime.csv"
# on récupère toutes les mises à jour de sécurité arrivées depuis cette date -21j avec en filtre les KB Internet explorer + spectre

Code : Tout sélectionner

$update = $wsus.GetUpdates() | where {($_.UpdateClassificationTitle -like "Mise à jour de la sécurité" -or $_.UpdateClassificationTitle -like "Ensemble de mises à jour" -or $_.UpdateClassificationTitle -like "Mise à jour critique" -or $_.UpdateClassificationTitle -like "Mises à jour de définitions") -and ($_.ProductTitles -like "windows defender" -or $_.ProductTitles -like "Windows server 2003*" -or $_.ProductTitles -like "Windows server 2008*" -or $_.ProductTitles -like "Windows server 2012*" -or $_.ProductTitles -like "Windows server 2016*" -or $_.ProductTitles -like "Windows 10*") -and ($_.CreationDate -gt $startTime2) -and ($_.IsDeclined -ne "True") -and (($_.Title -notlike "*explorer*") -and ($_.Title -notlike "*4056892*") -and ($_.Title -notlike "*4056891*") -and ($_.Title -notlike "*4056899*") -and ($_.Title -notlike "*4056890*") -and ($_.Title -notlike "*4056888*") -and ($_.Title -notlike "*4056893*") -and ($_.Title -notlike "*4056898*") -and ($_.Title -notlike "*4056897*"))}

Code : Tout sélectionner

$group = $wsus.GetComputerTargetGroups() | where {$_.Name -eq 'CITRIX'}
# On approuve pour ce groupe l'installation de toutes les KB récupéré précédemment

Code : Tout sélectionner

foreach ($Approval in $update) {
  $Approval[0].Approve(“Install”,$Group)
   }
# on pousse dans un fichier les serveurs impactés et la liste des KB apprrouvées

Code : Tout sélectionner

echo "liste des serveur impactés" > $file
Get-WsusComputer -IncludeDownstreamComputerTargets |  Where-Object {$_.RequestedTargetGroupName -like "CITRIX*"} | select FullDomainName,LastReportedStatusTime,RequestedTargetGroupName | Export-Csv -Path $file -Delimiter ";"

Code : Tout sélectionner

echo "liste des KB approuvées pour CITRIX" >> $file
$update | select Title,UpdateClassificationTitle,ProductTitles | Out-File $file -append -Width 300
# Utilisation d'un fichier HTM pour embellir la partie body du mail

Code : Tout sélectionner

$file3 = "C:\Scripts\HTM\CitrixApproval\WSUS.htm"
$encoding=[System.Text.Encoding]::UTF8
$body = Get-Content -Path $file3 | Out-String
# envoi d'un mail avec le fichier en sortie

Code : Tout sélectionner

Send-MailMessage -From "wsus@toto.fr" -To "equipe.microsoft@toto.fr" -Subject "WSUS - Mise à jour Microsoft pour l'ensemble des serveurs Citrix - $startTime" -SmtpServer "mail.toto.fr" -Body $body -bodyashtml -Encoding $encoding -Attachments "$file"