Я пытаюсь воссоздать среду (точнее, задокументировать воспроизводимую среду). У меня есть скрытое подозрение, что некоторые установленные вещи могли использовать одно и то же значение или значения реестра, и я хотел бы проверить это, воспроизведя порядок, в котором установлены различные компоненты.
Однако мне сложно понять, в каком порядке были установлены все компоненты. Я нашел ключ реестра «HKEY_LOCAL_MACHINE_SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall», который, кажется, имеет подключи для установленных вещей, и эти подключи (иногда) включают InstallDate. Однако у него есть только дневное разрешение, поэтому я не могу определить порядок вещей, установленных в тот же день.
Ctime может измениться, не так ли? Так что это вышло. В противном случае у меня нет идей.
Это на Win7. Я парень unix, наберитесь терпения.
У кого-нибудь есть идеи?
Это должно сработать. Откройте Powershell:
Get-WmiObject Win32_ReliabilityRecords |
Where-Object { $_.Message.StartsWith('Windows Installer installed') } |
Select TimeGenerated,Message | FL
Пока счетчики надежности включены, а я считаю, что они должны быть по умолчанию в Windows 7, это дает вам точный список того, когда программное обеспечение было установлено.
Вы также можете увидеть эти данные в графическом представлении с помощью perfmon /rel
Пример вывода:
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.
Вас не раздражает такой формат даты / времени? Попробуй это:
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...
Обратите внимание, что здесь будут перечислены как установки продукта, так и исправления. Измените строку вокруг «Установщик Windows установлен ...», если вы хотите отслеживать только обновления или установки продукта.
редактировать: Еще пара замечаний. Во-первых, эти данные собираются из данных журнала событий ... поэтому, если вы очистили журналы событий, эти данные исчезнут. Во-вторых ... формат даты и времени, как сообщает Get-WMIObject
... Powershell имеет более новую версию этого командлета, которая называется Get-CIMInstance
который автоматически преобразует эти дату / время в более читаемую форму ... но Windows 7 изначально не поставлялась с Get-CIMInstance
. Вам нужно сначала перейти на Powershell 3 или просто использовать технику преобразования, которую я показал выше.