Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
Thanks for this code, it is very helpful for monitoring our RDP farm!
In the code above I found 2 bugs:
Introduced in version 0.6. In this version the checks for WARNING and CRITICAL were turned around. As a result the program is creating a warning when the warning level is reached and exits instead of checking if the critical level is reached.
@Napsty: Your addon displays the count again instead of the usernames of the connected users, correct command: ECHO Number of active sessions = %COUNT%^|usersconnected=!USER!
New code (based on version 0.6 and added unnumbered addons from lumezit and Napsty) and some personal changes:
@ECHO OFF setlocal EnableDelayedExpansion REM ——————————————- REM – Version 0.4 – By [email protected] REM – Original Version REM ——————————————- REM – Version 0.5 – By [email protected] REM – ADD CRITICAL AND WARNING STATUS REM ——————————————- REM – Version 0.6 – By [email protected] REM – ADD USERNAME LOGGED IN REM ——————————————- REM – Version 0.7 – By [email protected] REM – Bugfix REM – Formatting changes REM ——————————————- REM USAGE: check_user_count warn crit REM warn: Number of session before warning REM crit: Number of session before Critical REM Example: check_user_count 2 4 REM ——————————————- REM CALLING SEQUENCE: REM command[nrpe_nt_check_users]=c:nrpe_ntpluginscheck_user_count.bat $ARG1$ $ARG2$ REM ——————————————- set EX=0 set MS=OK SET /a COUNT=0 SET USER= FOR /f “TOKENS=1” %%i IN (‘query session ^|find “rdp-tcp#”‘) DO SET /a COUNT+=1 FOR /f “TOKENS=2” %%G IN (‘query session ^|find “rdp-tcp#”‘) DO ( call :subroutine %%G )
REM – CRITICAL (COUNT => $2) if %COUNT% GEQ %2 ( set EX=2 && set MS=CRITICAL && goto end )
REM – WARNING (COUNT => $1) if %COUNT% GEQ %1 ( set EX=1 && set MS=WARNING && goto end )
REM – NOT CRITICAL / WARNING set EX=0 set MS=OK goto end
:subroutine SET USER=%USER% %1 GOTO :eof
:end ECHO %MS% – Number of active sessions = %COUNT% ^| Logged Users = !USER! EXIT /b %EX%