How to Detect Who Installed What Software on Your Windows Server (2024)

How to Detect Who Installed What Software on Your Windows Server

Native Auditing vs. Netwrix Auditor for Windows Server

Native Auditing Netwrix Auditor for Windows Server

Native Auditing

Netwrix Auditor for Windows Server

Steps

  1. Run eventvwr.msc → Windows Logs → Right-click "Application" log → Properties:
  • Make sure the "Enable logging" check box is selected
  • Increase the log size for at least 1 GB
  • Set the retention method to "Overwrite events as needed" or "Archive the log when full".
  1. Open Event Viewer and search the application log for the 11707 event ID with MsiInstaller Event Source to find the latest installed software.
  2. To create an instant alert that is triggered upon any software installation, you need to edit the following PowerShell script by setting your parameters up and saving it anywhere as .ps1 file (e.g., detect_software.ps1):

#Mail SMTP Setup Section
$Subject = "New Software Has Been Installed on $env:COMPUTERNAME" # Message Subject
$Server = "smtp.server" # SMTP Server
$From = "From@domain.com" # From whom we are sending an e-mail(add anonymous logon permission if needed)

$To = "to@uncc.edu" # To whom we are sending
$Pwd = ConvertTo-SecureString "enterpassword" -AsPlainText –Force #Sender account password
#(Warning! Use a very restricted account for the sender, because the password stored in the script will be not encrypted)
$Cred = New-Object System.Management.Automation.PSCredential("From@domain.com" , $Pwd) #Sender account credentials

$encoding = [System.Text.Encoding]::UTF8 #Setting encoding to UTF8 for message correct display

#Generates human readable userID from UserSID in log.

$UserSID = (Get-WinEvent -FilterHashtable @{LogName="Application";ID=11707;ProviderName="MsiInstaller"}).UserID.Value | select -First 1
$objSID = New-Object System.Security.Principal.SecurityIdentifier("$UserSID")
$UserID = $objSID.Translate([System.Security.Principal.NTAccount])

#Generates email body containing time created and message of application install.

$Body=Get-WinEvent -FilterHashtable @{LogName="Application";ID=11707;ProviderName='MsiInstaller'} | Select TimeCreated,Message | select-object -First 1

#Sending an e-mail.
Send-MailMessage -From $From -To $To -SmtpServer $Server -Body "$Body . Installed by: $UserID" -Subject $Subject -Credential $Cred -Encoding $encoding

  1. Run Task Scheduler → Create new schedule task → Enter its name → Triggers tab → New trigger → Set up the following options:
    • Begin the task on an event
    • Log – Application
    • Source – Blank
    • EventID – 11707.
  2. Go to the Actions Tab → New action with the following parameters:
    • Action – Start a program
    • Program script: PowerShell
    • Add arguments (optional): -File "specify the file path to our script"
    • Click "OK".x
  3. Now, you will be notified about every software installation on your Windows server via e-mail message containing details on the software installation time, software name, and installer’s userID (SID).
How to Detect Who Installed What Software on Your Windows Server (2)

Run Netwrix Auditor → Navigate to "Reports" → "Windows Server" → "Windows Server Changes"→ Select the "Programs Added and Removed" report → Click "View".

To receive the report regularly by email, click the "Subscribe" button and select the preferred schedule.

How to Detect Who Installed What Software on Your Windows Server (3)

It is best to set up an alert on new software installation, by following the below steps:

  1. From the Netwrix Auditor home page, navigate to "Alerts" → Click "Add" → Specify the alert’s name.
  2. Switch to the "Recipients" tab → Click "Add Recipient" → Specify an email address where you want the alert to be delivered.
  3. Navigate to the "Filters" tab → Adjust the following filters:
  4. Click "Add" to save the alert.

Whenever someone installs new software, you will receive a similar alert:

How to Detect Who Installed What Software on Your Windows Server (4)

Learn more about Netwrix Auditor for Windows Server

Detect Violations of Corporate Software Installation Policy

Accidental or intentional unauthorized software installation on Windows Server can enable malware to enter your network, which can lead to performance problems and the loss or leakage of sensitive data. Threats come from both inside the organization as well as from hackers on the outside: Employees may unknowingly download and install malicious programs, thereby violating your software installation policy. That is why it is critical to be aware of what software was installed, who installed software on Windows, and when it happened. You can use PowerShell scripts to look for Windows installer logs in Event Viewer, but that requires expertise in PowerShell scripting and could be hectic.

To reduce the risks of breaches and downtime, IT pros need to be able to detect when new software is installed and quickly determine all the who-what-where-when-what details. Netwrix Auditor for Windows Server delivers complete visibility into what is happening across your Windows Server infrastructure, including unauthorized software installation by looking into event logs for installed applications. IT pros simply create an alert, and they will immediately receive a detailed e-mail notification whenever new software is installed and see who installed a program on Windows, so they can fully secure the organization’s assets.

Previous How-to How to Detect Who Modified Mailbox Permissions in Exchange Online Next How-to How to Detect Changes to Organizational Units and Groups in Active Directory

Related How-tos

How to Monitor Deletions of DNS Records How to Detect Who Created a Scheduled Task on Windows Server How to Detect Modifications to Startup Items in the Windows Registry How to Get Local Group Members Report with or without PowerShell How to Get Server Inventory across Your Network How to List All User Accounts on a Windows System

How to Detect Who Installed What Software on Your Windows Server (2024)

References

Top Articles
Latest Posts
Article information

Author: Carlyn Walter

Last Updated:

Views: 5699

Rating: 5 / 5 (50 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Carlyn Walter

Birthday: 1996-01-03

Address: Suite 452 40815 Denyse Extensions, Sengermouth, OR 42374

Phone: +8501809515404

Job: Manufacturing Technician

Hobby: Table tennis, Archery, Vacation, Metal detecting, Yo-yoing, Crocheting, Creative writing

Introduction: My name is Carlyn Walter, I am a lively, glamorous, healthy, clean, powerful, calm, combative person who loves writing and wants to share my knowledge and understanding with you.