How to display a certain type of Mouse Cursor in a Terminal Server Session

How to display a certain type of Mouse Cursor in a Terminal Server Session

  • Comments 6
  • Likes

Hello everyone! This is Harshad Joshi from the Performance Team at Microsoft. In today’s post, I am going discuss an interesting feature of Remote Desktop Services configured for users via Group Policy Preferences. Recently, I had a request from a customer to change the mouse pointer for a set of users, but only within a Remote Desktop Session. What they wanted was a particular Mouse Pointer scheme shown whenever a particular set of users remote to any server in the infrastructure.  The scheme name in Mouse Properties window under control panel is “Windows Black (extra-large) (system scheme)”. The primary mouse cursor in this scheme looks like this:

clip_image002

Now, it’s fairly easily to change the mouse scheme for a user account when the user is logging onto the computer locally; but to assign a particular Mouse pointer scheme only in a Remote Desktop Session (RDP), we’ll need to make use of the Group Policy Preferences (GPP). Given that GPP is an Active Directory Domain policy, we can do this for Domain Accounts.  Additionally, GPP is only available if the domain has at least one Domain Controller running Windows Server 2008 or Windows Server 2008 R2 as its operating system. GPP was not available on Windows Server 2003 or earlier operating systems.

These are the steps of how to modify a domain users’ mouse scheme using Group Policy Preferences.

1. Create a group of users for which you want to change the mouse pointer in a Remote Desktop Services session. It’s best if you create this group under a separate Organizational Unit (OU) so that you can link a GPO to this OU.

2. Open Group Policy Management Console (gpmc.msc) and locate the concerned OU.

3. Right Click and select option, “Create a GPO I this domain, and link it here…”.

4. Give it a name which can help you in identifying the reason behind this GPO and click Ok.

5. Once the GPO is shown under the OU, right click on it and click Edit…

6. Group Policy Management Editor will open.

7. In the Group Policy Management editor, navigate to User configuration > Preferences> Windows Settings> Registry. Refer to below screenshot:

clip_image003

Before creating or updating any registry item, you should review the existing registry values that are already present and update those. The screenshot below shows the registry keys along with their values which are already present for the “Windows Aero (system scheme)” :

clip_image004

Since this is the default cursor scheme you will see in windows 7, all you need to do is update these registry keys instead of creating new items.

Below screenshot shows one of the registry keys as an example:

clip_image005

For registry keys which are not already present, you need to choose create option under Action. An example screenshot of create item option is show below:

clip_image006

Below table shows what registry values need to be created for changing the default Mouse cursor to the Windows Black using GPP for domain accounts:

REG KEY

Path

Type

Data

(Default)

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_SZ

Windows Black (Extra Large)

AppStarting

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\wait_rl.cur

Arrow

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\arrow_rl.cur

Crosshair

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\cross_rl.cur

Hand

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\aero_link_xl.cur

Help

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\help_rl.cur

IBeam

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\beam_rl.cur

No

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\no_rl.cur

NWPen

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\pen_rl.cur

Scheme Source

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_DWORD

0x00000002 (2)

SizeAll

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\move_rl.cur

SizeNESW

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\size1_rl.cur

SizeNS

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\size4_rl.cur

SizeNWSE

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\size2_rl.cur

SizeWE

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\size3_rl.cur

UpArrow

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\up_rl.cur

Wait

HKEY_CURRENT_USER\Control Panel\Cursors\

REG_EXPAND_SZ

%SystemRoot%\Cursors\busy_rl.cur

This is how you can see the registry items after created defined using GPP:

clip_image007

Note down the color difference in the icons for registry items. Yellow ones are the Updated registry keys whereas Green ones are the Created registry keys. Link this GPO to the OU on which you need to apply.

Additional References

- Harshad Joshi

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Hi, Harshad.

    Some things I want to point out:

    - GPOs apply to users and computers, not to groups. So better link your GPO to an OU where the user accounts reside ;-))

    - The difference between "update" and "create" is that "create" only populates a value if not already present, whereas "update" populates the value, creating it if not already present. So in most cases, "update" is ok.

    - What I totally miss in your description is the usage of item level targeting so the setting is only effective in RD Sessions - and for this purpose, I would strongly recommend creating a collection for all these values and doing the targeting on the collection. And to fully accomplish the task, we would need a second set of values to be able to revert our changes.

    regards, Martin

  • ...in addition to my first comment: This tip includes a lot of registry values, so I would resort to using the registry wizard and just import the settings from a workstation where I set the cursor to whatever I want to deploy ;-)

    regards, Martin

  • I believe the statement regarding GPPs only working with at least one 2k8 DC is incorrect. You can create policy objects with GPPs in a 2003 forest with no 2008 DCs as long as you are using GPMC from a Vista/Win7/2008 box.

  • I think Rex is true, you need not to have 2008 or later DC. However, for clients prior to 2008 in teh environment, you need to provide client side capabilities so the GPP can be processed. Example, for 2003 you would need this installed: www.microsoft.com/.../details.aspx

  • Greetings,

    Am I misinterpreting this, or would this change the settings regardless of whether a user logged in via RDP?  I see no item level targeting or other methods to restrict this to RDP.

    We are running into a similar issue, where a published Remote Desktop application experiences poor performance when the default Windows 7 mouse scheme is used.  Switching it to no scheme improves performance, but users would like to keep the aero theme when logged on locally.

    Is this possible?

    Cheers!

    RCM

  • Martin was right, this is much easier with the registry wizard but Blake did an excellent job with this article. We are not using it for RDP but for a select account under a specific OU. We did need to add User Group Policy loopback processing mode/Enabled/Replace. Thanks.