Просмотр истории установки и удаления программ в Windows
Из журнала событий Windows можно получить логи установки, обновления и удаления программ, а также определить конкретного пользователя, который запустил установку или удаление приложения.
Для просмотра журнала установки приложений:
- Откройте консоль журнала событий Event Viewer (
eventvwr.msc
) - Перейдите в раздел Windows Logs -> Application
- Щелкните правой кнопкой по журналу и включите фильтр (Filter current log)
- В качестве источника событий выберите
MsiInstaller
. События с EventID 11707 содержат информацию об успешной установке программы (
Installation completed successfully
).
EventID 11724 – события успешного удаления пакета (
Removal completed successfully
).В этом журнале будут фиксироваться только события установки приложений, упакованных в MSI/MSP пакеты (или в EXE файлы, которые фактически запускают установку MSI пакета с помощью
msiexec.exe
). Для установки MSI пакетов используется служба установки Windows Installer (
msiserver
), которая позволяет выполнить корректную установку удаление или откат установки приложения. Некоторые приложения, распространяемые через EXE файлы не используют службу msiserver и соответственно не пишут такие события. - Если вы хотите определить, какой конкретно пользователь удалил или установил программу, перейдите на вкладку Details в свойствах события. Переключитесь в режим XML view. SID пользователя указан в значении атрибута Security UserID. Скопируйте его.
- Чтобы конвертировать SID пользователя в имя учетной записи, выполните команду:
wmic useraccount where sid='S-1-5-21-506968642-4209078585-1781862235-1001' get name
Команда вернет имя пользователя, который инициировал установку или удаление программы.
Если нужно извлечь события установки/удаления программ из журнала событий с помощью PoweShell, воспользуйтесь командлетом Get-WinEvent. Например, вывести журнал успешных установок программ:
Get-WinEvent -FilterHashtable @{LogName="Application";ID=11707;ProviderName='MsiInstaller'} | Select TimeCreated,Message
В Windows есть еще более удобный инструмент, который позволяет в одном окне показать историю установки/удаления/обновления программ, включай приложения Microsoft Store, а также историю установки обновлений Windows. Речь о Мониторе стабильности системы (Reliability Monitor).
Reliability Monitor – это отдельный апплет в классической панели управления Windows, который в графическом виде отображает индекс стабильности системы и подробные сведения о событиях, которые могли повлиять на стабильность ОС (сбои в программах, установка/удаление приложений и прочее).
Чтобы открыть Reliability Monitor, перейдите в панель управления -> Security and Maintenance, нажмите на ссылку View reliability history в разделе Maintenance (или просто выполните команду (
perfmon /rel
).
Здесь в разрезе по дням/неделям можно посмотреть какие обновления, программы и UWP приложения устанавливались или удалялись. Подробную информацию о событии можно получить, нажав на кнопку View technical retails.
Для построения отчетов об установке/удалении приложений из монитора стабильности можно использовать PowerShell. Следующий скрипт выведет в графическую таблицу Out-GridView все события установки, удаления и обновления программ, Windows Updates, APPX/MSIX на компьютере за последние
7
дней.
$DaysAgo = (Get-Date).AddDays(-7)
$RealiabilityFilter= "TimeGenerated > '$DaysAgo' and (SourceName='Microsoft-Windows-WindowsUpdateClient' or SourceName='MsiInstaller')"
Get-CimInstance -ClassName Win32_ReliabilityRecords -filter $RealiabilityFilter|Select TimeGenerated,ProductName,User,message |Out-GridView
С помощью встроенных фильтров Out-GridView можно отфильтровать все связанные события по конкретному приложению, определенному событию или пользователю.
Windows 10
Просмотр истории установки и удаления программ в Windows