Track The Usage Of Specific Applications And How Often They Are Started
Query
// Use Case: Monitoring and identifying the most frequently executed processes on a system for a given day.
Process
| where isnotnull(ProcessName) and isnotnull(StartDateTime) // Ensure fields are not null
| summarize Count = count() by ProcessName, bin(StartDateTime, 1d) // Aggregate counts by day and ProcessName
| order by Count desc
| project ProcessName, CountExplanation
This query is designed to monitor and identify the most frequently executed processes on a system for a specific day. Here's a simple breakdown of what it does:
-
Filter Data: It starts by filtering out any records where the
ProcessNameorStartDateTimefields are missing, ensuring that only complete data is analyzed. -
Aggregate Data: It then groups the data by
ProcessNameand the day (StartDateTimeis binned into 1-day intervals). For each group, it counts how many times each process was executed. -
Sort Data: The results are sorted in descending order based on the count, so the most frequently executed processes appear first.
-
Select Output: Finally, it selects and displays only the
ProcessNameand the corresponding count of executions.
In summary, this query helps you see which processes were run the most on a given day, sorted from most to least frequent.
Details

Ugur Koc
Released: December 13, 2024
Tables
Keywords
Operators