点击windows 11上的语言栏后任务栏冻结(通过PowerShell添加键盘)

gkn4icbw  于 2023-02-08  发布在  Shell
关注(0)|答案(1)|浏览(138)

日安!我的目标是使用登录PowerShell脚本为域中的新用户添加键盘。下面是PowerShell代码:

$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("ru-RU")
Set-WinUserLanguageList $LanguageList -Force

键盘添加成功,但是我不能点击语言栏。我只能使用组合键更改语言。有趣的是,点击语言栏后,任务栏和一些windows用户界面被卡住,除了资源管理器,直到我点击桌面或资源管理器。
此后,事件查看器中会出现错误:* "激活Microsoft.Windows.ShellExperienceHost_cw5n1h2txyewy!应用程序失败。错误代码:类未注册。激活阶段:未定义阶段"*
我也尝试通过在注册表中添加一个记录"键盘布局\预加载"来添加键盘。但是如果我添加一个自定义键盘布局,上面的行为也会出现。我喜欢上面的方法,因为键盘也会出现在设置中,而不仅仅是在语言栏中。
如果我删除键盘添加从上述登录脚本和添加它再次通过接口,一切工作正常。
如果直接在PowerShell中为登录用户运行上面的代码,则可以正常工作。
你有办法克服吗?
先谢谢你。
亚历克斯

gjmwrych

gjmwrych1#

在上一篇文章中找到了解决方案:
Error with Windows Shell Experience and Cortana
运行以下脚本后,任务栏对计算机中的所有用户正常工作。每次删除域用户后都需要运行它。

taskkill /F /IM explorer.exe 
taskkill /F /IM ShellExperienceHost.exe
taskkill /F /IM StartMenuExperiencehost.exe 
taskkill /F /IM SearchUI.exe 
taskkill /F /IM RunTimeBroker.exe 
Start-Sleep 3 
cd $Env:localappdata\Packages\Microsoft.Windows.ShellExperienceHost_cw5n1h2txyewy 
Remove-Item -Recurse -Force .\TempState\ 
cd $Env:localappdata\Packages\Microsoft.Windows.StartMenuExperiencehost_cw5n1h2txyewy 
Remove-Item -Recurse -Force .\TempState\ 
cd $Env:localappdata\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy 
Remove-Item -Recurse -Force .\TempState\ 
Add-AppxPackage -register "C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\AppxManifest.xml" -DisableDevelopmentMode 
Add-AppxPackage -register "C:\Windows\SystemApps\StartMenuExperiencehost_cw5n1h2txyewy\AppxManifest.xml" -DisableDevelopmentMode 
Add-AppxPackage -register "C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy\AppxManifest.xml" -DisableDevelopmentMode
Start-Sleep 3 
Start-Process "RunTimeBroker.exe"
Start-Process "SearchUI.exe"
Start-Process "StartMenuExperiencehost.exe"
Start-Process "ShellExperienceHost.exe"
Start-Process "explorer.exe"

相关问题