Isso deve fazer. Abra o Powershell:
Get-WmiObject Win32_ReliabilityRecords |
Where-Object { $_.Message.StartsWith('Windows Installer installed') } |
Select TimeGenerated,Message | FL
Contanto que os contadores de confiabilidade estejam habilitados, o que acredito que devam ser por padrão no Windows 7, isso fornece uma lista perfeita de quando o software foi instalado.
Você também pode ver esses dados em uma representação gráfica com perfmon /rel
Exemplo de saída:
TimeGenerated : 20141112045116.000000-000
Message : Windows Installer installed an update. Product Name: Microsoft Office Shared MUI (English) 2013. Product Version: 15.0.4569.1506.
Product Language: 1033. Manufacturer: Microsoft Corporation. Update Name: Update for Microsoft Office 2013 (KB2881008) 64-Bit
Edition. Installation success or error status: 0.
TimeGenerated : 20141112045110.000000-000
Message : Windows Installer installed an update. Product Name: Microsoft Office Professional Plus 2013. Product Version: 15.0.4569.1506.
Product Language: 0. Manufacturer: Microsoft Corporation. Update Name: Update for Microsoft PowerPoint 2013 (KB2889936) 64-Bit
Edition. Installation success or error status: 0.
TimeGenerated : 20141112045100.000000-000
Message : Windows Installer installed an update. Product Name: Microsoft PowerPoint MUI (English) 2013. Product Version: 15.0.4569.1506.
Product Language: 1033. Manufacturer: Microsoft Corporation. Update Name: Update for Microsoft PowerPoint 2013 (KB2889936) 64-Bit
Edition. Installation success or error status: 0.
TimeGenerated : 20141111002348.000000-000
Message : Windows Installer installed the product. Product Name: EMET 5.1. Product Version: 5.1. Product Language: 1033. Manufacturer:
Microsoft Corporation. Installation success or error status: 0.
Esse formato de data / hora o incomoda? Tente isto:
Get-WmiObject Win32_ReliabilityRecords |
Where-Object { $_.Message.StartsWith('Windows Installer installed') } |
Select @{n='TimeGenerated';e={[System.Management.ManagementDateTimeConverter]::ToDateTime($_.TimeGenerated )}},Message | FT -AutoSize
11/11/2014 10:51:24 PM Windows Installer installed an update. Product Name: Microsoft Office Professional Plus 2013. Product Version: 15.0.4569.15...
11/11/2014 10:51:16 PM Windows Installer installed an update. Product Name: Microsoft Office Shared MUI (English) 2013. Product Version: 15.0.4569...
11/11/2014 10:51:10 PM Windows Installer installed an update. Product Name: Microsoft Office Professional Plus 2013. Product Version: 15.0.4569.15...
11/11/2014 10:51:00 PM Windows Installer installed an update. Product Name: Microsoft PowerPoint MUI (English) 2013. Product Version: 15.0.4569.15...
11/10/2014 6:23:48 PM Windows Installer installed the product. Product Name: EMET 5.1. Product Version: 5.1. Product Language: 1033. Manufacturer...
Observe que isso listará as instalações e os patches dos produtos. Ajustar a string em torno de "Windows Installer instalado ..." se você deseja capturar apenas atualizações ou instalações de produtos.
Editar : apenas mais algumas coisas a serem observadas. Primeiro, esses dados são agregados dos dados do Registro de Eventos ... portanto, se você tiver limpado seus registros de eventos, esses dados desaparecerão. Segundo ... o formato de data e hora conforme relatado por Get-WMIObject
... Powershell tem uma versão mais nova desse cmdlet chamado Get-CIMInstance
que converte automaticamente essas datas / horas para você em um formato mais legível ... mas o Windows 7 não é originalmente enviado com Get-CIMInstance
. Você precisaria fazer o upgrade para o Powershell 3 primeiro ou apenas usar a técnica de conversão que mostrei acima.