Copier-coller le texte suivant dans le document. Enregistrez le document comme "WindowsUpdate.ps1" sans les guillemets. Fermez le document.
fonction Get-WIAStatusValue ($ value)
{
passer -exact ($ value)
{
0 {"Pas démarré"}1 {"En cours"}
2 {"Réussi"}
3 {"SucceededWithErrors"}
4 {"Échoué"}
5 {"Avorté"}
}
}
needsReboot = $ $ false
$ UpdateSession = New-Object -ComObject Microsoft.Update.Session
UpdateSearcher $ = $ UpdateSession.CreateUpdateSearcher ()
Write-Host " - La recherche de mises à jour"
SearchResult $ = $ UpdateSearcher.Search ("IsAssigned = 1 et IsHidden = 0 et IsInstalled = 0")
Write-Host " - Trouvé [$ ($ SearchResult.Updates.count)] Mises à jour pour télécharger et installer"
Write-Host
foreach ($ Mise à jour en $ SearchResult.Updates)
{
Ajouter à la collection mise à jour
$ UpdatesCollection = New-Object -ComObject Microsoft.Update.UpdateColl
if ($ Update.EulaAccepted -eq 0) {$ Update.AcceptEula ()}
UpdatesCollection.Add $ ($ Mise à jour) | Out-Null
Télécharger
Write-Host " + Mise à jour Téléchargement $ ($ Update.Title)"
UpdatesDownloader $ = $ UpdateSession.CreateUpdateDownloader ()
UpdatesDownloader.Updates $ = $ UpdatesCollection
DownloadResult $ = $ UpdatesDownloader.Download ()
$ Message = " - Télécharger {0}" -f (Get-WIAStatusValue $ DownloadResult.ResultCode)
Write-Host $ message
Installer
Write-Host " - Installation de mise à jour"
UpdatesInstaller $ = $ UpdateSession.CreateUpdateInstaller ()
UpdatesInstaller.Updates $ = $ UpdatesCollection
InstallResult $ = $ UpdatesInstaller.Install ()
$ Message = " - Installez {0}" -f (Get-WIAStatusValue $ DownloadResult.ResultCode)
Write-Host $ message
Write-Host
needsReboot $ = $ installResult.rebootRequired
}
if ($ needsReboot)
{
restart-ordinateur
}