Windows OS Hub
  • Windows Server
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Group Policies
  • Windows Clients
    • Windows 10
    • Windows 8
    • Windows 7
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
  • PowerShell
  • Exchange
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Group Policies
  • Windows Clients
    • Windows 10
    • Windows 8
    • Windows 7
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
  • PowerShell
  • Exchange

 Windows OS Hub / Windows Server 2008 R2 / Monitoring RDS Bandwidth Usage by Users with Perfmon

August 17, 2017 Windows Server 2008 R2Windows Server 2012 R2

Monitoring RDS Bandwidth Usage by Users with Perfmon

In our network, there are several terminal servers based on Windows Server 2012 R2 with Remote Desktop Services  (RDS) role, which connects many users from branches and regional offices. It has become necessary to detect, which terminal users sessions generate the bulk of traffic thus loading WAN channels.  Most likely these users within the RDP session actively  upload or download a large amount of files or send large documents to print through Easy Print.

In our conditions, we cannot completely prevent file transfer between a PC and an RDP server and printing documents over Easy Print, since users need these features to do their work. The only way to solve the problem is to find users who actively transfer data and consult them personally so that they could effectively organize their work to minimize large data transfer during an RDP session.

Microsoft offers two ways to get access to the data of bandwidth usage for each user RDP session: using performance counters or RDS API. I was not able to find a ready solution using RDS API data. The counters were left. Having tried a number of performance counters a managed to find the right ones.

So, open Performance Monitor (perfmon.exe) and add the counter RemoteFX Network/Total Sent Rate(*). It counts the outgoing traffic of a terminal server (B/s).

RemoteFX Network counter Sent Rate

To make it more demonstrative, select Histogram bar view in the Graph tab if there are a lot of sessions. Specify, say, 100 KB/s (100000) as the value of the vertical scale.

Histogram bar

By maximum column values identify the numbers of RDP sessions that are used to send the largest amounts of data.

get rdp usage by users with perfmon

To compare the number of an RDP session with a user name, you can use qwinsta.exe.

qwinsta - list rdp session

Note. In the same way, using RemoteFX Network/Total Sent Rate(*) counter evaluate the rate of incoming traffic from a users.

If you need to evaluate traffic during a day/week, you can create a separate group of data collectors counting the incoming/outgoing traffic of user RDP sessions.

In Windows Server 2008 R2, these performance counters are not present, so the approximate values of session traffic can be evaluated using the counters of the group Terminal Services Session: Output Bytes / Input  Bytes.

perfmon 2008r2 - Terminal Services Session

The received data can also be used to obtain average bandwidth per session of one RDS client when calculating the required bandwidth to communication channels to remote branches (sites).

0 comment
0
Facebook Twitter Google + Pinterest
previous post
Automatic Virtual Machine Activation (AVMA) in Windows Server 2016
next post
How to Configure a Slideshow Screensaver Using GPO

Related Reading

Using TSADMIN.msc and TSCONFIG.msc Snap-Ins on Windows Server...

February 2, 2021

Updating the PowerShell Version on Windows

December 24, 2020

Zerologon (CVE-2020-1472): Critical Active Directory Vulnerability

December 4, 2020

How to Run CMD/Program under SYSTEM (LocalSystem) in...

December 3, 2020

Remote Desktop Services Is Currently Busy

October 27, 2020

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange
  • Windows 10
  • Windows 8
  • Windows 7
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2008 R2
  • PowerShell
  • VMWare
  • MS Office

Recent Posts

  • How to Troubleshoot, Repair and Rebuild the WMI Repository?

    March 2, 2021
  • Accessing USB Flash Drive from VMWare ESXi

    February 26, 2021
  • How to Sign a PowerShell Script (PS1) with a Code Signing Certificate?

    February 25, 2021
  • Change the Default Port Number (TCP/1433) for a MS SQL Server Instance

    February 24, 2021
  • How to Shadow (Remote Control) a User’s RDP session on RDS Windows Server 2016/2019?

    February 22, 2021
  • Configuring PowerShell Script Execution Policy

    February 18, 2021
  • Configuring Proxy Settings on Windows Using Group Policy Preferences

    February 17, 2021
  • Updating Group Policy Settings on Windows Domain Computers

    February 16, 2021
  • Managing Administrative Shares (Admin$, IPC$, C$, D$) in Windows 10

    February 11, 2021
  • Packet Monitor (PktMon) – Built-in Packet Sniffer in Windows 10

    February 10, 2021

Follow us

woshub.com
  • Facebook
  • Twitter
  • RSS
Popular Posts
  • Fix: Server Stuck on “Preparing to Configure Windows”
  • Remote Desktop Connection Error: Outdated entry in the DNS cache
  • Windows Update Error 0x80244022 and WsusPool Memory Limit
  • Fixing High Memory Usage by Metafile on Windows Server 2008 R2
  • Unable to Install Print Driver after KB3170455
  • How to Filter Event Logs by Username in Windows 2008 and higher
  • GPO Logging Using Gpsvc.log in Windows 7
Footer Logo

@2014 - 2018 - Windows OS Hub. All about operating systems for sysadmins


Back To Top