Symptom
During a ConfigMgr OSD Task Sequence that deploys Windows 10, once the device reboots out of WinPE and into the newly installed Windows OS during the Setup Windows and ConfigMgr task, if a command prompt window is brought up using F8, no mouse cursor appears. The issue will continue to occur for the remainder of the Task Sequence. Once the Task Sequence completes, the mouse cursor will appear.
Cause
This issue is caused by a design change in Windows 10 where the mouse cursor is suppressed during Windows Setup. Because ConfigMgr OSD Task Sequences run entirely within Windows Setup in the newly installed Windows OS, the mouse cursor is suppressed during this phase of the Task Sequence.
Resolution
The issue can be resolved by changing the policy that by default suppresses the mouse cursor during Windows Setup. This is easily accomplished by changing the registry key value associated with the policy. The registry key value is located in the following location:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
Value Name:
EnableCursorSuppression
Type:
REG_DWORD
Values:
1 = Enabled – Mouse cursor is suppressed (default)
0 = Disabled – Mouse cursor is not suppressed
To ensure that the mouse cursor is available throughout the Task Sequence, the best place to set the above registry key is during the WinPE portion of the Task Sequence to the offline Windows OS. This can be done at any point between the Apply Operating System and Setup Windows and ConfigMgr tasks.
To resolve the problem, choose the preferred method from the following two choices:
Importing Task Sequence Steps
- Download the Task Sequence with all of the needed extra steps from the link below. The steps in the Task Sequence downloaded at this step will be copied into the existing Task Sequence having the problem:
CorrectMissingMouseCursor.zip
- Import into ConfigMgr the the Task Sequence downloaded in Step 1 by following the below appropriate article:
ConfigMgr 2012 R2 SP1
How to Manage Task Sequences in Configuration Manager
How to Export and Import Task Sequences
https://technet.microsoft.com/en-us/library/hh273490.aspx#BKMK_ExportImport
ConfigMgr Current Branch
Manage task sequences to automate tasks in System Center Configuration Manager
Export and import task sequences
https://docs.microsoft.com/en-us/sccm/osd/deploy-use/manage-task-sequences-to-automate-tasks#a-namebkmkexportimporta-export-and-import-task-sequences
- In the ConfigMgr console under Software Library –> Operating Systems –> Task Sequences, navigate to the newly imported Correct Missing Mouse Cursor Steps Task Sequence from Step 2.
- Right click on the Missing Mouse Cursor Steps Task Sequence that was imported in Step 2 and select Edit. Make sure to leave the Task Sequence open so that its steps can be copied to the affected Task Sequence.
- In the ConfigMgr console under Software Library –> Operating Systems –> Task Sequences, navigate to the affected Task Sequence.
- Right click on the affected Task Sequence and select Edit.
- For Steps 8-12 make sure that both the affected Task Sequence and the imported Correct Missing Mouse Cursor Steps Task Sequence are both always open. Do not close either of these Task Sequences during these steps.
- In the imported Missing Mouse Cursor Steps Task Sequence, right click on the Correct Missing Mouse Cursor group and choose Copy.
- In the affected Task Sequence, click on the Apply Operating System task, and then right click and choose Paste.
This should copy the Correct Missing Mouse Cursor group immediately after the Apply Operating System task.
- (Optional) If you wish to reset the EnableCursorSuppression policy back to default, then follow steps 11 – 12. Otherwise skip to step 13.
- In the imported Missing Mouse Cursor Steps Task Sequence, right click on the Reset Mouse Suppression to Default task and choose Copy.
- In the affected Task Sequence click on the last task in the Task Sequence, and then right click and choose Paste.
Note: The last task in the Task Sequence may be different than the one shown in the above screenshot.
This should copy the Reset Mouse Suppression to Default task as the last task in the Task Sequence.
- Click on the OK or Apply button on the affected Task Sequence to save the it.
- Close the imported SetupComplete Workaround Steps Task Sequence.
Notes:
- For step 12, the “last” task selected does not necessarily need to be the absolute last task in the Task Sequence but should be towards the end of the Task Sequence.
- For MDT Task Sequences, steps 11 –12 should be performed twice – once at the end of the State Restore group and again at the end of the Gather Logs and StateStore on Failure group. Additionally under the Options tab of the the Reset Mouse Suppression to Default task added at the end of the Gather Logs and StateStore on Failure group, Continue on error should be set.
Manually Configuring the Task Sequence Steps
- In the ConfigMgr console under Software Library –> Operating Systems –> Task Sequences, navigate to the affected Task Sequence.
- Right click on the affected Task Sequence and select Edit.
- In the affected Task Sequence click on the Apply Windows Settings task to select it.
- Add a new Group immediately after the Apply Windows Settings task by going to the Add menu and then selecting New Group.
- Click on the newly created group and rename to:
Correct Missing Mouse Cursor
- Under the Correct Missing Mouse Cursor group, add a Run Command Line task by going to the Add menu and selecting General –> Run Command Line.
- Click on the newly created Run Command Line task and configure as follows:
Name:
Load Registry SOFTWARE Hive
Command Line:
reg.exe load HKLMTemp %OSDTargetSystemDrive%Windowssystem32configsoftware
- Immediately after the Load Registry SOFTWARE Hive task, add another Run Command Line task by going to the Add menu and selecting General –> Run Command Line.
- Click on the newly created Run Command Line task and configure as follows:
Name:
Disable Suppressed Mouse Cursor
Command Line:
reg.exe add “HKLMTempMicrosoftWindowsCurrentVersionPoliciesSystem” /v EnableCursorSuppression /t REG_DWORD /d 0 /f
- Immediately after the Disable Suppressed Mouse Cursor task, add another Run Command Line task by going to the Add menu and selecting General –> Run Command Line.
- Click on the newly created Run Command Line task and configure as follows:
Name:
Unmount Registry SOFTWARE Hive
Command Line:
reg.exe unload HKLMTemp
- (Optional) If you wish to reset the EnableCursorSuppression policy back to default, then follow steps 13 – 15. Otherwise skip to step 16.
- Click on the last task in the Task Sequence.
Note: The last task in the Task Sequence may be different than the one shown in the above screenshot.
- Add a Run Command Line task by going to the Add menu and selecting General –> Run Command Line. This should add the Run Command Line task as the last task in the Task Sequence.
- Click on the newly created Run Command Line task and configure as follows:
Name:
Reset Mouse Suppression to Default
Command Line:
reg.exe add “HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem” /v EnableCursorSuppression /t REG_DWORD /d 1 /f
- Click on the OK or Apply button to save the Task Sequence.
Notes:
- For step 13, the “last” task selected does not necessarily need to be the absolute last task in the Task Sequence but should be towards the end of the Task Sequence.
- For MDT Task Sequences, steps 13 –15 should be performed twice – once at the end of the State Restore group and again at the end of the Gather Logs and StateStore on Failure group. Additionally under the Options tab of the the Reset Mouse Suppression to Default task added at the end of the Gather Logs and StateStore on Failure group, Continue on error should be set.
Frank Rojas
Senior Support Escalation Engineer