Interroger l’historique de la WUA depuis PowerShell
Lorsque vous effectuez une mise à jour ou lorsque le système l’installe automatiquement, celui-ci enregistre le numéro de KB dans une base de données Windows Update. Il est possible de vérifier l’historique des mises à jour de Windows, mais l’interface graphique ne propose pas d’option permettant d’imprimer la liste des mises à jour installées à partir de l’écran Historique des mises à jour de Windows. Vous trouverez ci-dessous un petit script qui peut vous aider à consulter l’historique des mises à jour de Windows.
Modeup :
Première méthode:
Copiez le script ci-dessous sur une console Powershell ISE (Admin) et exécutez, vous obtiendrez l'historique de toutes les mises à jour, sous la forme d'un tableau.
Deuxieme Methode:
Vous avez également la possibilité de le sauvegarder directement pour cela il suffit de saisir >> c:\files.txt après "Format-Table" (Ex : #Get-WuaHistory | Format-Table >> c:\HistroyWSUS.txt)
function Convert-WuaResultCodeToName
{
param( [Parameter(Mandatory=$true)]
[int] $ResultCode
)
$Result = $ResultCode
switch($ResultCode)
{
2
{
$Result = "Succeeded"
}
3
{
$Result = "Succeeded With Errors"
}
4
{
$Result = "Failed"
}
}
return $Result
}
function Get-WuaHistory
{
# Get a WUA Session
$session = (New-Object -ComObject 'Microsoft.Update.Session')
# Query the latest 1000 History starting with the first recordp
$history = $session.QueryHistory("",0,50) | ForEach-Object {
$Result = Convert-WuaResultCodeToName -ResultCode $_.ResultCode
# Make the properties hidden in com properties visible.
$_ | Add-Member -MemberType NoteProperty -Value $Result -Name Result
$Product = $_.Categories | Where-Object {$_.Type -eq 'Product'} | Select-Object -First 1 -ExpandProperty Name
$_ | Add-Member -MemberType NoteProperty -Value $_.UpdateIdentity.UpdateId -Name UpdateId
$_ | Add-Member -MemberType NoteProperty -Value $_.UpdateIdentity.RevisionNumber -Name RevisionNumber
$_ | Add-Member -MemberType NoteProperty -Value $Product -Name Product -PassThru
Write-Output $_
}
#Remove null records and only return the fields we want
$history |Where-Object {![String]::IsNullOrWhiteSpace($_.title)} |Select-Object Result, Date, Title, SupportUrl, Product, UpdateId, RevisionNumber
}
#Obtenez l'historique de toutes les mises à jour, sous forme de tableau.
Get-WuaHistory | Format-Table
#Get-WuaHistory | Format-Table >> c:\HistroyWSUS.txt
Source: stackoverflow