ThreatLocker Maintenance Mode
maintenance_modeRetrieve maintenance history to audit who changed protection levels, and enable, end, or update ThreatLocker maintenance windows on computers.
Instructions
Query ThreatLocker maintenance mode history for computers.
Maintenance mode temporarily changes a computer's protection level. Types include:
Monitor Only (1): Logs but doesn't block (audit mode)
Installation Mode (2): Allows new software installs, auto-learns new applications
Learning Mode (3): Monitors and records software usage without blocking
Tamper Protection Disabled (6): Allows ThreatLocker service changes
Common workflows:
View maintenance history for a computer: action=get_history, computerId="..."
Audit who put computers in installation mode: check history across computers
Maintenance mode history shows who enabled it, when, duration, and what applications were learned during that time.
Pitfalls:
Learning Mode (3) requires a "Default - (Group Name)" Default Deny policy to exist in the group, or it silently does nothing.
Isolation (14) and Lockdown (15) require ThreatLocker Detect and Agent >= 8.2.
usersList entries are "DOMAIN\USERNAME" and only apply when allUsers=false; default window is 1 hour if no end time is given.
Permissions: Edit Computers, Manage Application Control Installation Mode, Manage Application Control Learning Mode. Pagination: get_history is paginated (use fetchAllPages=true to auto-fetch all pages). Key response fields: maintenanceModeId, maintenanceTypeId, displayName, startDateTime, endDateTime, addedBy, endedBy.
Related tools: computers (get computer IDs, see current mode), computer_groups (group-level modes)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Optional notes recorded with the maintenance window. | |
| action | Yes | get_history=paginated history for a computer, enable=put a computer into a maintenance mode (MaintenanceModeInsert), end=end an active maintenance window early (MaintenanceModeEndById), update_end_time=extend/shorten an active window (maintenanceTypeId must match the active mode) | |
| allUsers | No | Apply to all users (default: true). When false, supply usersList. | |
| pageSize | No | Results per page (default: 25, max: 500) | |
| permitEnd | No | Re-secure automatically at window end (default: true). | |
| usersList | No | "DOMAIN\\USERNAME" entries; only used when allUsers=false. | |
| computerId | Yes | Computer GUID (required). Find via computers list first. | |
| pageNumber | No | Page number (default: 1) | |
| endDateTime | No | Window end (ISO 8601 UTC) for enable. Defaults to +1 hour if omitted. | |
| ticketNumber | No | Optional ticket reference recorded with the maintenance window. | |
| fetchAllPages | No | Fetch all pages automatically (max 10 pages). Default: false (single page). | |
| startDateTime | No | Window start (ISO 8601 UTC) for enable. Defaults to now if omitted. | |
| response_format | No | Output format: markdown (default, human-readable) or json (structured) | markdown |
| maintenanceModeId | No | Active maintenance window GUID (required for end). Get it from get_history. | |
| maintenanceTypeId | No | Maintenance type (required for enable/end): 1=MonitorOnly, 2=Installation, 3=Learning, 4=Elevation, 6=TamperProtectionDisabled, 14=Isolation, 15=Lockdown, 16=DisableOpsAlerts, 17=NetworkControlMonitorOnly, 18=StorageControlMonitorOnly, 19=InstallationLegacy. For end, must match the active mode. | |
| maintenanceEndDate | No | New window end (UTC YYYY-MM-DDTHH:MM:SSZ) for update_end_time. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | get_history: array of maintenance mode records | |
| error | No | ||
| success | Yes | ||
| pagination | No |