Как определить, кто установил или удалил программу в Windows?

Как определить, кто установил или удалил программу в Windows?

В крупных сетях с большим количеством администраторов, иногда приходится расследовать кто именно удалил или установил программу на определенном сервере или компьютере Windows. В этой статье мы рассмотрим, как из журналов Windows извлечь информацию о пользователе, который запустил установку или удаление программы.

При установке или удалении классических Windows-приложений через MSI установщик, в журнал Event Viewer записываются соответствующие события от
MsiInstaller
.

  • 11707 – код события успешной установки MSI приложения.
  • 11724 – событие удаление MSI приложения

Откройте консоль журнала событий Event Viewer (
eventvwr.msc
) и включите фильтр по событиям с ID 11707 и 11724 для журнала Application. Перед вами появится список событий установки и удаления программ. В описании события указано название программы, которая была установлена или удалена. Например:

Product: Zabbix Agent 2 (64-bit) -- Removal completed successfully.
Product: 7-Zip 24.09 (x64 edition) -- Installation completed successfully.

Имя пользователя, который удалил или установил пакет можно найти в свойстве события User.

Событие MsiInstaller содержит информацию о том, кто установил или удалил программу

Для быстрого поиска всех событий установки/удаления определенной программы можно использовать PowerShell. Следующий скрипт выведет все события установки или удаления агента Zabbix на сервере, включая имена пользователей, которые выполняли эти действия.

Get-WinEvent -FilterHashtable @{LogName="Application"; ID=11707,11724; ProviderName='MsiInstaller'} | Where-Object { $_.Message -like '*Zabbix*' } | Select TimeCreated, @{Name='Username'; Expression={(New-Object System.Security.Principal.SecurityIdentifier($_.userid)).Translate([System.Security.Principal.NTAccount]).Value}}, Message

Get-WinEvent - найти пользователя, который удалил программу

Т.к. в поле
userid
содержится SID пользователя, мы дополнительно преобразуем его в нормальное имя.

Также информация о событиях установки и удаления программ доступна в Мониторе стабильности системы (Reliability Monitor). Подробно это описано в статье о получении истории установки/удаления приложений в Windows.

Windows 11
Как определить, кто установил или удалил программу в Windows?