Je ne sais pas si vous avez la même expérience que moi mais les mises à jour automatiques de Windows, pourtant programmées le lundi à 3:00, ont parfois tendance à s’exécuter n’importe quand. Du coup, la tentation est grande de les désactiver en se disant qu’on les fera plus tard à la main ou qu’on mettra en place un serveur WSUS (floscel 😉 )
J’ai trouvé sur le net un petit script Powershell sympa qui se charge de les télécharger, installer et au besoin relancer le serveur. Du coup, il ne reste plus qu’à le programmer à l’heure qui convient.
cls$listonly=$true$allowreboot=$truefunctionGet-WIAStatusValue($value) { switch-exact ($value) { 0 {"NotStarted"} 1 {"InProgress"} 2 {"Succeeded"} 3 {"SucceededWithErrors"} 4 {"Failed"} 5 {"Aborted"} } } $needsReboot=$false$UpdateSession=New-Object-ComObjectMicrosoft.Update.Session$UpdateSearcher=$UpdateSession.CreateUpdateSearcher() Write-Host" - Rercherche de mises à jour"$SearchResult=$UpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0") Write-Host" - Trouvé [$($SearchResult.Updates.count)] mises à jour à télécharger et installer"Write-Hostforeach($Updatein$SearchResult.Updates) { # Add Update to Collection$UpdatesCollection=New-Object-ComObjectMicrosoft.Update.UpdateCollif ( $Update.EulaAccepted -eq0 ) { $Update.AcceptEula() } $UpdatesCollection.Add($Update) | out-nullWrite-Host" + $($Update.Title)"if ($listonly-ne$true) { # DownloadWrite-Host" ++ Téléchargement"$UpdatesDownloader=$UpdateSession.CreateUpdateDownloader() $UpdatesDownloader.Updates =$UpdatesCollection$DownloadResult=$UpdatesDownloader.Download() $Message=" - Téléchargement {0}"-f (Get-WIAStatusValue$DownloadResult.ResultCode) Write-Host$message# InstallWrite-Host" ++ Installation"$UpdatesInstaller=$UpdateSession.CreateUpdateInstaller() $UpdatesInstaller.Updates =$UpdatesCollection$InstallResult=$UpdatesInstaller.Install() $Message=" - Installation {0}"-f (Get-WIAStatusValue$DownloadResult.ResultCode) Write-Host$messageWrite-Hostif ($allowreboot-eq$true) { $needsReboot=$installResult.rebootRequired } } } if($needsReboot) { restart-computer }
Question…. il paraît que wsus va disparaître, quand ? et quelle solution pour remplacer ce genre d’outils ?
Un WSUS n’est pas si difficile à mettre en place et cela permet quand même de mieux contrôler les MAJ et surtout d’économiser de la bande passante.
D’ailleurs, on parle de plus en plus du “puissant coquillage” sur Synergeek, il serait peut être intéressant de faire un article sur l’utilisation de ces scripts.. Comment les implémenter etc… Ca intéresse quelqu’un ? Olivier ? Aurélien ?