Skip to content

ProVal-Tech/IdleMon

Repository files navigation


Logo

IdleMon

Monitor Windows user idle times

About

IdleMon writes a JSON file to the root of the current user's profile (~/idletime.json) with their current idle time and other relevant information.

Supports /install and /uninstall switches which install IdleMon as a User-owned Windows service. This means that a new user-scoped instance of IdleMon will be spawned in the background whenever a user logs on, and will be removed when a user logs off.

JSON Format

{
    "Username":"user",
    "Domain":"domain",
    "IdleTime":"00:00:00.2809998",
    "IsAdmin": false,
    "IsDomainAdmin": false,
    "IsEnterpriseAdmin": false
}

Username

The username of the audited user.

Domain

The domain (if any) of the audited user.

IdleTime

The TimeSpan representation of the amount of time that the audited user has been idle.

IsAdmin

true if the audited user is a member of the local Administrators group.

IsDomainAdmin

true if the audited user is a Domain Admin.

IsEnterpriseAdmin

true if the audited user is an Enterprise Admin.

Dependencies

  • Windows OS
  • .NET 7 Runtime

Installation

# Uncomment this line if you need to install .NET 7
# $ProgressPreference = 'SilentlyContinue'; iwr -Uri https://download.visualstudio.microsoft.com/download/pr/dffb1939-cef1-4db3-a579-5475a3061cdd/578b208733c914c7b7357f6baa4ecfd6/windowsdesktop-runtime-7.0.5-win-x64.exe -UseBasicParsing -OutFile $env:TEMP\dotnet7.exe; & $env:TEMP\dotnet7.exe /quiet | Out-String
IdleMon.exe /install

Uninstallation

IdleMon.exe /uninstall

Reporting

IdleMon.exe /report | ConvertFrom-Json

Attributions

Wall-clock icons created by Freepik - Flaticon

About

Monitor the idle time of Windows users

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages