Hi, I’m trying to understand how to monitor app usage on Windows devices using Hexnode. Specifically, I’m looking to see how long a particular application is being used or whether it’s actively running on devices. Is there a way to get this kind of data?
Windows App Usage MonitoringSolved
Replies (3)
You can check the Application Reports section in Hexnode. It gives you visibility into all installed applications across devices, along with views like popular apps and blocklisted apps. While it doesn’t show exact usage time, it can still help you understand which apps are present and commonly used across your fleet.
Hi @abel-j,
Currently, there isn’t a built-in option in Hexnode to track real-time app usage on Windows devices.
As an alternative, you can use the Execute Custom Script action to fetch basic usage details. The script below checks whether a specific application is running and provides details like memory usage and how long the process has been active:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
$appName = "App Name" $Processlist = Get-Process $processfilter = $Processlist | Where-Object { $_.ProcessName -Like $appName } if ($processfilter) { $groupedProcesses = $processfilter | Group-Object -Property Parent foreach ($group in $groupedProcesses) { $mainProcess = $group.Group | Where-Object { $_.Parent -eq $null } # Find the main Chrome process (parent process with no parent) $totalMemoryUsageMB = 0 $totalHours = 0 $totalMinutes = 0 $totalSeconds = 0 foreach ($process in $group.Group) { $memoryUsageMB = [math]::Round($process.WorkingSet64 / 1MB, 2) $totalMemoryUsageMB += $memoryUsageMB if ($process.StartTime) { $usageTime = (Get-Date) - $process.StartTime $totalHours += $usageTime.Hours $totalMinutes += $usageTime.Minutes $totalSeconds += $usageTime.Seconds } } $totalMinutes += [math]::Floor($totalSeconds / 60) $totalSeconds = $totalSeconds % 60 $totalHours += [math]::Floor($totalMinutes / 60) $totalMinutes = $totalMinutes % 60 if ($mainProcess) { $output = "Application: $appName | Total Memory Usage: $totalMemoryUsageMB MB | Total Usage Time: $totalHours hours, $totalMinutes minutes, $totalSeconds seconds" Write-Host $output } } } else { Write-Host "Application '$appName' is not running." } |
Try this out, and let us know if you have any more queries.
Regards,
Sienna Carter
Hexnode UEM
Thanks, this helps. I’ll try this approach.