PowerShell : liste par date des programmes installés

Voici un petit script pour avoir la date d’installation de windows, et les programmes installés du plus récent au plus ancien, avec extraction en fichier TXT vers C:\temp\ :

$uninstallKey = « HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall »
$programs = Get-ChildItem $uninstallKey | Get-ItemProperty

$sortedPrograms = $programs | Where-Object { $_.InstallDate -ne $null } | Sort-Object -Property InstallDate -Descending

$exportPath = « C:\temp\date-installation.txt »
$dateWindowsInstalled = (Get-ItemProperty « HKLM:\Software\Microsoft\Windows NT\CurrentVersion »).InstallDate
$dateWindowsInstalledFormatted = (Get-Date -Date ([DateTimeOffset]::FromUnixTimeSeconds($dateWindowsInstalled)).DateTime).ToString(« yyyy-MM-dd HH:mm:ss »)

Set-Content -Path $exportPath -Value « Date d’installation de Windows : $dateWindowsInstalledFormattedrnrn »

foreach ($program in $sortedPrograms) {
$programName = $program.DisplayName
$installDate = $program.InstallDate
$installDateFormatted = (Get-Date -Date ([DateTimeOffset]::FromUnixTimeSeconds($installDate)).DateTime).ToString(« yyyy-MM-dd HH:mm:ss »)

$output = « Nom du programme : $programNamern »
$output += « Date d’installation : $installDateFormattedrn »
$output += « ————————————-rn »

Add-Content -Path $exportPath -Value $output

}


Laisser un commentaire