Windows_updates.ps1 not running

CMK version: 2.5.0p10.pro
OS version: ubuntu24.04

Error message: windows_updates.ps1

Output of “cmk --debug -vvn hostname”: (If it is a problem with checks or plugins)

Hello everyone,
since upgrade to 2.5.0 the checkmk plugin “Windows Updates” (windows_updates.ps1) was changed from a VBS script to a powershell script.

But now I get no output anymore from this plugin. Here are the local logs of a checkmk agent (in attatchments “logs.txt”):

2026-07-30 15:49:41.179 [srv 7380] [Err  ] Process 'C:\ProgramData\checkmk\agent\modules\python-3\.venv\Scripts\python.exe C:\ProgramData\checkmk\agent\plugins\cmk_update_agent.checkmk.py' [19968] is killed
2026-07-30 15:49:41.180 [srv 7380] [Warn ] Invalid process 0, can't store data C:\ProgramData\checkmk\agent\plugins\cmk_update_agent.checkmk.py 
2026-07-30 15:49:41.180 [srv 7380] [Trace] Thread OFF: 'C:\ProgramData\checkmk\agent\plugins\cmk_update_agent.checkmk.py'
2026-07-30 15:49:41.745 [srv 7380] [Warn ] perf:  In [30706] milliseconds process 'powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File "C:\ProgramData\checkmk\agent\plugins\windows_updates.ps1"' pid:[25444] FAILED - generated [6] bytes of data in [1] blocks
2026-07-30 15:49:41.746 [srv 7380] [Warn ] Async Plugin 'C:\ProgramData\checkmk\agent\plugins\windows_updates.ps1' is failed
2026-07-30 15:49:41.747 [srv 7380] [Err  ] Failed to start minibox thread C:\ProgramData\checkmk\agent\plugins\windows_updates.ps1
2026-07-30 15:49:41.747 [srv 7380] [Trace] Thread OFF: 'C:\ProgramData\checkmk\agent\plugins\windows_updates.ps1'
2026-07-30 15:51:11.377 [ctl:24496] [cmk_agent_ctl::modes::pull][INFO] [::ffff:10.4.28.20]:60382 (pull): Handling connection.
2026-07-30 15:51:11.398 [ctl:24496] [cmk_agent_ctl::modes::pull][DEBUG] [::ffff:10.4.28.20]:60382 (pull): Acquiring connection slot.
2026-07-30 15:51:11.419 [ctl:24496] [cmk_agent_ctl::modes::pull][DEBUG] [::ffff:10.4.28.20]:60382 (pull): Task #1 started.
2026-07-30 15:51:11.440 [ctl:24496] [cmk_agent_ctl::modes::pull][DEBUG] handle_request: starts from ::ffff:10.4.28.20

I think the following line is the problem: 2026-07-30 15:49:41.746 [srv 7380] [Warn ] Async Plugin ‘C:\ProgramData\checkmk\agent\plugins\windows_updates.ps1’ is failed

The script is running suprisingly long:

In a admin-cmd window. The dump command via “cmk-agent-ctl.exe” is NOT containing the “<<<windows_updates>>>” section

I have tried to enlared the check duration like so, but this is also not working:

What could be the cause of this problem?

logs.txt (84.0 KB)

Can you check if has really your config with the 600 seconds timeout?
A “check_mk_agent.exe showconfig” can give use the running config.
The log file locks like a 30 second timeout for the plugin not 600 seconds.

After uninstalling and installing of the agent on the windows_agent.ps1 now agnoleged my timeouts:

2026-07-31 11:44:35.645 \[srv 8768\] \[Trace\] Sync Plugin Entry 'C:\\ProgramData\\checkmk\\agent\\plugins\\cmk_update_agent.checkmk.py' forced to be async, due to cache_age \[3600\]
2026-07-31 11:44:35.648 \[srv 8768\] \[Trace\] Sync Plugin Entry 'C:\\ProgramData\\checkmk\\agent\\plugins\\cmk_update_agent.checkmk.py' forced to be async, due to cache_age \[3600\]
2026-07-31 11:44:35.649 \[srv 8768\] Plugin 'C:\\ProgramData\\checkmk\\agent\\plugins\\cmk_update_agent.checkmk.py'  is  async with age:3600 timeout:60 retry:0
2026-07-31 11:44:35.649 \[srv 8768\] Plugin 'C:\\ProgramData\\checkmk\\agent\\plugins\\cmk-update-agent-status.ps1'  is  sync with age:0 timeout:60 retry:0
2026-07-31 11:44:35.650 \[srv 8768\] Plugin 'C:\\ProgramData\\checkmk\\agent\\plugins\\windows_updates.ps1'  is  async with age:900 timeout:600 retry:0
2026-07-31 11:44:35.650 \[srv 8768\] \[Trace\] Left \[3\] files to execute in 'plugins'
2026-07-31 11:44:35.650 \[srv 8768\] Allowed Extensions: \[checkmk.py,py,exe,bat,vbs,cmd,ps1\]
2026-07-31 11:44:35.651 \[srv 8768\] \[Trace\] Left \[0\] files to execute
2026-07-31 11:44:35.651 \[srv 8768\] \[Trace\] To start \[3\] sync plugins
2026-07-31 11:44:35.651 \[srv 8768\] \[Trace\] Left \[0\] files to execute in 'local'
2026-07-31 11:44:35.651 \[srv 8768\] \[Trace\] Absent/Empty node mrpe.config type is Null
2026-07-31 11:44:35.652 \[srv 8768\] \[Trace\] Skipping 'openhardwaremonitor' by time

Output from check_mk_agent.exe showconfig:

# Environment Variables:
# MK_LOCALDIR="C:\ProgramData\checkmk\agent\local"
# MK_STATEDIR="C:\ProgramData\checkmk\agent\state"
# MK_LIBDIR="C:\ProgramData\checkmk\agent"
# MK_PLUGINSDIR="C:\ProgramData\checkmk\agent\plugins"
# MK_TEMPDIR="C:\ProgramData\checkmk\agent\tmp"
# MK_LOGDIR="C:\ProgramData\checkmk\agent\log"
# MK_CONFDIR="C:\ProgramData\checkmk\agent\config"
# MK_SPOOLDIR="C:\ProgramData\checkmk\agent\spool"
# MK_INSTALLDIR="C:\ProgramData\checkmk\agent\install"
# MK_MSI_PATH="C:\ProgramData\checkmk\agent\update"
# MK_MODULESDIR="C:\ProgramData\checkmk\agent\modules"
# Loaded Config Files:
# system: 'C:\Program Files (x86)\checkmk\service\check_mk.yml'
# bakery: 'C:\ProgramData\checkmk\agent\bakery'
# user  : 'C:\ProgramData\checkmk\agent\check_mk.user.yml'

#
global:
  enabled: true
  only_from: ~
  port: 6556
  ipv6: no
  encrypted: no
  passphrase: secret
  execute: [exe, bat, vbs, cmd, ps1]
  async: yes
  try_kill_plugin_process: safe
  sections:
    - check_mk
    - mrpe
    - skype
    - spool
    - plugins
    - local
    - winperf
    - uptime
    - systemtime
    - df
    - mem
    - services
    - msexch
    - dotnet_clrmemory
    - wmi_webservices
    - wmi_cpuload
    - ps
    - fileinfo
    - logwatch
    - openhardwaremonitor
    - agent_plugins
    - w32time_status
    - w32time_peers
  disabled_sections: []
  realtime:
    enabled: no
    timeout: 90
    port: 6559
    encrypted: no
    passphrase: this is my password
    run: [mem, df, winperf_processor]
  wmi_timeout: 5
  cpuload_method: use_perf
  logging:
    location: ~
    file: ~
    debug: yes
    windbg: no
    eventlog: yes
    max_file_count: 5
    max_file_size: 8000000
  install: true
ps:
  enabled: yes
  use_wmi: yes
  full_path: no
winperf:
  enabled: yes
  exe: agent
  trace: no
  fork: no
  prefix: winperf
  timeout: 10
  counters:
    - 234: phydisk
    - 510: if
    - 238: processor
fileinfo:
  enabled: yes
  path: []
logwatch:
  enabled: yes
  sendall: no
  vista_api: no
  skip_duplicated: no
  max_size: 500000
  max_line_length: -1
  max_entries: -1
  timeout: -1
  logfile:
    - Parameters: ignore
    - State: ignore
    - "*": warn nocontext
  filter_ids:
    - "*": ;;
  clusters: ~
  filter_sources: ~
plugins:
  enabled: true
  player: ""
  max_wait: 60
  async_start: yes
  folders: [$CUSTOM_PLUGINS_PATH$, $BUILTIN_PLUGINS_PATH$]
  execution:
    - async: true
      cache_age: 900
      pattern: $CUSTOM_PLUGINS_PATH$\windows_updates.ps1
      timeout: 600
    - cache_age: 3600
      pattern: $CUSTOM_PLUGINS_PATH$\cmk_update_agent.checkmk.py
    - pattern: $CUSTOM_PLUGINS_PATH$\cmk-update-agent.exe
      run: no
    - pattern: $CUSTOM_PLUGINS_PATH$\*.*
      timeout: 60
      run: yes
    - pattern: $BUILTIN_PLUGINS_PATH$\*.*
      timeout: 60
      run: no
    - pattern: "*"
      run: no
local:
  enabled: yes
  player: ""
  max_wait: 60
  async_start: true
  execution:
    - pattern: "*.*"
      timeout: 60
      run: yes
mrpe:
  enabled: yes
  parallel: no
  timeout: 60
  config: ~
extensions:
  enabled: yes
  execution:
    - name: robot_mk
      binary: $CUSTOM_AGENT_PATH$/bin/robotmk_ext.exe
      command_line: daemon
      run: auto
modules:
  enabled: yes
  python: auto
  quick_reinstall: no
  table:
    - name: python-3
      exts: [.checkmk.py, .py]
      exec: .venv\Scripts\python.exe {}
system:
  enabled: yes
  controller:
    run: yes
    detect_proxy: no
    validate_api_cert: no
    check: yes
    force_legacy: no
    agent_channel: mailslot
    local_only: yes
    on_crash: ignore
    updater_registration: manual
  firewall:
    mode: configure
    port: auto
  cleanup_uninstall: smart
  wait_network: 30
  service:
    restart_on_crash: yes
    error_mode: log
    start_mode: auto
  repair_invalid_utf: no