<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export><version>5.0</version><date>2021-11-21T21:22:25Z</date><groups><group><name>Templates</name></group></groups><templates><template><template>RDPUsers</template><name>RDPUsers</name><description>## Overview

RDP Logged on Users


I use this template to check Users, that are logged on RDP sessions on Windows servers. It's not full audit, it's only for current view of logged-on users.


Template is really simple.It has only one Item and user parameter configured on monitored server.


User parameter in zabbix\_agentd.conf: UserParameter=RDPUsers,&quot;c:\zabbix\RDPUsers.cmd&quot; Script RDPUsers.cmd:


@echo off


for /F &quot;usebackq tokens=1,2,3,4,5*&quot; %%i in (`qwinsta ^| find &quot;Active&quot;`) do (


 if &quot;%%l&quot; == &quot;Active&quot; ( echo %%j )


)


I was asked to enhance script for monitoring disconnected terminal users too. So this is my second version of script. Script adds &quot;D:&quot; before name for disconnecter users and &quot;A: &quot;for Active users. Script was tested only for English version of Windows server:


New script RDPUsers.cmd:


@echo off


for /F &quot;usebackq tokens=1,2,3,4,5*&quot; %%i in (`query user 2^&gt;nul`) do (


 if &quot;%%l&quot; == &quot;Active&quot; ( echo A: %%i )


 if &quot;%%k&quot; == &quot;Disc&quot; ( echo D: %%i )


)



</description><groups><group><name>Templates</name></group></groups><applications><application><name>Audit</name></application></applications><items><item><name>Logged Users</name><type>ZABBIX_ACTIVE</type><key>RDPUsers</key><delay>120</delay><history>2d</history><trends>0</trends><value_type>TEXT</value_type><description>http://serverfault.com/questions/511120/getting-just-the-active-remote-desktop-sessions</description><applications><application><name>Audit</name></application></applications></item></items></template></templates></zabbix_export>
