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 : $dateWindowsInstalledFormattedr
nr
n »
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 : $programNamer
n »
$output += « Date d’installation : $installDateFormattedr
n »
$output += « ————————————-r
n »
Add-Content -Path $exportPath -Value $output
}