I'm trying to restore the on-screen keyboard for 400 NUC devices running Windows 11 in my east coast region. These NUCs are part of touch-screen digital signage setups for staff who don't have company devices like email or tablets. We're finding that the on-screen keyboard doesn't automatically show up when tapping on input fields anymore, which means we have to re-enable this setting manually.
As I'm not familiar with Powershell and lack Microsoft Intune, I've crafted a script based on my limited knowledge. I have LogMeIn and can deploy tasks, but I'd appreciate any guidance on how to improve the script to make sure the on-screen keyboard works as needed. Here's what I've got so far:
5 Answers
Have you thought of using Task Scheduler with a simple action to run 'osk.exe'? You could trigger it on user logon, which might be a quicker workaround for activating the on-screen keyboard. Alternatively, you could create a batch file that runs 'osk.exe' at startup. Just keep in mind this solution applies after a user logs on.
It looks like your script has a couple of logic issues to consider. For instance, when you're fetching user profiles, the command `Get-ChildItem "C:Users" -Exclude "Public", "All Users"` assumes all profiles are in that directory but may not account for others that could exist. Also, be aware that the registry path you're modifying might not always be there.
If you have any form of GPO management available, that could make things easier. But since you don’t seem to have it, I suggest checking out those potential pitfalls in your script.
Here’s another approach: modify your registry settings to update the Run option in Windows. You can use the command `Set-ItemProperty -Path "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun" -Name "OnScreenKeyboard" -Value "osk.exe"`. This could provide a more streamlined way to ensure the on-screen keyboard is accessible with each login.
I noticed some redundancy in your approach by trying to set the keyboard access for all users and again at startup. It might make more sense to target it once at user login instead. Also, bear in mind that while Task Scheduler is an option, establishing it as a service might offer a more reliable solution depending on your needs.
If you’re stuck, why not just consult a tool like ChatGPT for additional help? It can provide quick assistance with coding questions and troubleshooting!

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures