NetLock RMMNetLock RMM Docs
III — How-To Guides

Set up patch management for a group

Approve patches globally, then configure per-policy rollout rules for a Windows group.

Set up patch management for a group

Patch management in NetLock RMM is split across two places that do different jobs, and getting both configured is what makes patching work. The /patch-management page is the global approval queue — "which patches are allowed on any device at all?" The Policy Settings editor's Patch Management tab is the per-policy rollout — "when and how do these particular devices install the approved patches?" This guide covers both, using a Windows group as the worked example.

Patch Management page, Update Approval tab, with a pending list

Before you start

  • A policy already exists and is routed to the target Windows group via an automation (see Guide H.4).
  • At least one Windows device is online in that group.
  • Patches have been detected and sit in the Pending state on the Patch Management page. If the list is empty, agents have not yet reported their update inventory — wait a sync cycle.
  • Required permissions: patch_management_enabled for the approval page, plus policies_enabled and the policy edit flag for the rollout configuration.

Steps

Stage 1 — Approve patches globally

  1. Open Patch Management from the navigation. The Update Approval tab is the default.
  2. Filter by Windows and browse the Pending patches.
  3. Select a manageable first set — critical security updates from the previous month are a safe start. Avoid bulk-approving every pending patch on day one.
  4. Click Approve. The selected patches move into the Approved state. The server flags every device for a resync so agents pick up the updated approval list on their next poll.

Use the other actions as needed:

  • Reject — explicitly block a patch; devices never install it.
  • Defer — postpone a patch for a number of days (default 7).
  • Reset to Pending — revert any state decision back to pending for later review.

Approvals are global. There is no per-device or per-group target selector on this page — scoping happens in stage 2.

Stage 2 — Configure the per-policy rollout

  1. Open Policies from the navigation and click Manage on the policy that routes to your Windows group.
  2. Open the Patch Management tab in the Policy Settings editor. The tab is split into Global and per-platform sub-tabs; pick Windows.
  3. Under the Windows sub-tab, fill in at least these three sub-tabs for a minimal rollout:
    • General — enable patching for Windows and select which sources participate (at minimum OS-Mandatory, optionally Winget and Chocolatey).
    • Schedule — pick the allowed patch days (default Monday to Friday) and a maintenance window. Outside the window the agent will not start an install; the one exception is the catch-up run described in Chapter 6.12, which runs the first check after the policy arrives, or after a missed window, right away.
    • Reboot — decide whether the agent may reboot, whether it prompts the user, how long the prompt is visible, and what happens on a device where nobody is signed in. This is the only place in the product where reboot behaviour is configured.
  4. Optionally fill in Approval & Filtering (narrow approved patches by severity or source), Deployment Rings (stage the rollout across Pilot → Early → Broad), Notifications, and Retry.
  5. Save the policy.

Verify it worked

  • On the Patch Management page's Update Approval tab, the patches you approved show the Approved state and the Installed and Pending columns begin moving as devices pick up the change.
  • On a target device's detail view in Devices, the line Last patch run: <time> – <outcome> appears after the first scheduled run that reached the install stage, and the device's Updates tab shows per update whether it was installed or why the last scheduled run held it back. Scheduled runs do not create entries in Events; the only event a scheduled run writes is the Patch management event recorded once when an outstanding restart blocks the run.
  • The Patch history tab on the Patch Management page and on the device lists each scheduled run of an agent 3.3.0.5 or later next to the Patch Now jobs. Its details show per update whether it was installed, failed with the error Windows Update or the package manager reported, or was held back and why.
  • The Update History tab on the Patch Management page shows the install outcomes per patch per device.

Troubleshooting

  • Patches stay at 0 installed. Check that a policy with Patch Management → Windows → General enabled is actually assigned to the device. If the device's detail view shows no_assigned_policy_found, the automation is missing. On Linux, open the job or the scheduled run in Patch Management → Patch history: the item details and the note carry apt's E: lines or dnf's error lines (No match for argument, Error:, Problem:), as does the agent's Error.txt. A package that apt keeps back because the upgrade would remove another package is listed as Skipped with the packages a full upgrade would remove; enable Allow package removal (full upgrade) in the policy's Linux tab to install it. On Fedora and RHEL-based systems a package excluded by excludepkgs in dnf.conf, or a version the repository no longer offers, fails with dnf's message while the other approved packages are installed.

  • Patches approved but devices ignore them. Check the policy's Approval & Filtering sub-tab — a filter there can veto a globally approved patch.

  • My scheduled run never happens. First check where you are looking. With agent 3.3.0.5 or later, every scheduled run that reached the installation is an entry in the device's Patch history tab and on the Patch history tab of the Patch Management page, with the result of each update and the reason an update was held back or failed (see Chapter 7.6). Runs skipped for disk space, informational mode, a disabled policy, missing patch settings or an incomplete maintenance window are listed there as Skipped. Waiting for an allowed day or for the maintenance window creates no entry; the Scheduled patching line in the device's detail view on /devices shows it with the next possible run. Further traces are the Last patch run line, the chips on the device's Updates tab, and the Last scheduled run column on the Devices Not Up To Date tab; with an older agent they are the only ones. The agent decides every five minutes whether a scheduled run may start and checks the following stages in this order. Go through them from the top; the first stage that fails is the reason.

    1. Patch settings on the device. The device has received the policy's patch settings. The detail view names the assigned policy (not no_assigned_policy_found) and, with a 3.3.0.5 agent, the Scheduled patching line does not say The device has not received its patch management settings yet. Until the agent has reported anything, the detail view shows the schedule facts of the device's policy — mode, allowed days, window, catch-up — so you can compare them with what you expect. If the policy is missing, fix the automation and wait for the next sync.
    2. Platform mode is Managed. Informational only reports: Last patch run: … – informational mode, nothing installed. Disabled skips without a run; a 3.3.0.5 agent reports Patch management is disabled in the policy of this device in the Scheduled patching line. Check Patch Management → Windows → General in the policy.
    3. Allowed patch day. The default is Monday to Friday. On an unticked day no scheduled run happens, not even as a catch-up run. A 3.3.0.5 agent reports Waiting for an allowed patch day with the next possible run; an older agent leaves no trace in the Console and Last patch run stays empty. Check Schedule → Allowed patch days. A policy saved on Friday evening and a check on Saturday morning is the classic case.
    4. Maintenance window or catch-up. Inside the window the run starts at the agent's next check. Outside the window a run starts only as a catch-up: the first check after the policy arrives on the device, or the first check after a missed window, runs right away even outside the window (Catch up a missed maintenance window on the platform's Schedule sub-tab, on by default). From equal to To means no time restriction. A 3.3.0.5 agent reports Waiting for the maintenance window with the next possible run, or The maintenance window of the policy is incomplete, no run is scheduled when it cannot read the From/To pair — nothing runs until the window is corrected.
    5. One run per window occurrence. After a run the agent installs nothing more until the next window opens — once per day for a 24/7 window — whatever the outcome of that run was. A 3.3.0.5 agent reports Already ran in the current maintenance window with the next possible run. If that run installed nothing, the reason is in one of the following stages.
    6. Free disk space. With Check minimum free disk space before patching on, a device below the threshold is skipped: Last patch run: … – skipped, insufficient disk space. This skip does not use up the window; the agent tries again at its next check.
    7. Windows: no outstanding restart. While a restart from an earlier update run is outstanding, a scheduled run installs nothing: Last patch run: … – nothing installed, restart pending. The device shows the Restart pending since … banner with the note that scheduled runs install nothing until the device has restarted, together with the restart behaviour of its policy, and the blocked run is recorded once as an event of type Patch management on the device. With Ask user a device where nobody is signed in asks nobody; the If nobody is signed in option on the Reboot sub-tab decides whether such a device restarts in the maintenance window, immediately, or not at all (the default). With the default the restart has to happen another way — a user or the Console restarts the device, or you change the option — and scheduled runs keep installing nothing until then. Patch Now still installs.
    8. Windows Update query. The agent asks Windows Update for the available updates. When the query times out, fails or returns no result, the run is recorded as completed and its note — the tooltip of the Last patch run line — says that the query for available updates failed and no update was installed. Windows Update itself, not the policy, is the place to look then.
    9. Per-update filters. The run happened (completed or nothing pending) but a specific update is still missing: open the device's Updates tab, where the chip on each update names the reason from the last scheduled run — Blocked by severity filter, Blocked by update type filter, Not approved, Deployment ring until …, Retry after …, Waiting for restart, Not offered in last run. nothing pending means Windows Update offered nothing that the policy's sources cover. A deployment ring set to Immediate only removes the waiting time after an update's release; the allowed days, the maintenance window and the one-run-per-window rule still apply. Only Patch Now bypasses the schedule, the rings and the retry budget.

    On the device itself, a 3.3.0.5 agent writes every change of its schedule decision and every run outcome to Logs\Patch_Management.txt in the Comm Agent folder (C:\ProgramData\0x101 Cyber Security\NetLock RMM\Comm Agent\) without debug mode; state changes and outcomes only, so the file stays small. The full detail of every five-minute check needs debug mode: create an empty debug.txt in the Comm Agent folder and restart the service, as described in Guide — Debug an agent. The agent's run bookkeeping lives in patch_cycle_state.json under C:\ProgramData\NetLock RMM\Agent\ (Linux: /var/lib/netlock-rmm/); a missing or empty file means that no scheduled run has reached the install stage yet.

  • Reboots happen at unexpected times. Review Patch Management → Windows → Reboot and Schedule in the policy. Reboot prompts follow the schedule's maintenance window.

  • SLA chips show Overdue. Adjust the SLA thresholds on the Patch Management Settings tab if the defaults (7 / 15 / 30 / 60 days by severity) do not fit your environment.