Thoughts from the EPS Windows Server Performance Team
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:
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:
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)” :
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:
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:
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
REG_EXPAND_SZ
%SystemRoot%\Cursors\wait_rl.cur
Arrow
%SystemRoot%\Cursors\arrow_rl.cur
Crosshair
%SystemRoot%\Cursors\cross_rl.cur
Hand
%SystemRoot%\Cursors\aero_link_xl.cur
Help
%SystemRoot%\Cursors\help_rl.cur
IBeam
%SystemRoot%\Cursors\beam_rl.cur
No
%SystemRoot%\Cursors\no_rl.cur
NWPen
%SystemRoot%\Cursors\pen_rl.cur
Scheme Source
REG_DWORD
0x00000002 (2)
SizeAll
%SystemRoot%\Cursors\move_rl.cur
SizeNESW
%SystemRoot%\Cursors\size1_rl.cur
SizeNS
%SystemRoot%\Cursors\size4_rl.cur
SizeNWSE
%SystemRoot%\Cursors\size2_rl.cur
SizeWE
%SystemRoot%\Cursors\size3_rl.cur
UpArrow
%SystemRoot%\Cursors\up_rl.cur
Wait
%SystemRoot%\Cursors\busy_rl.cur
This is how you can see the registry items after created defined using GPP:
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
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 ;-)
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