Active Directory 中的其他键盘设置

Active Directory 中的其他键盘设置

我们公司中有一些用户需要使用额外的键盘,为了实现这一点,其他一位管理员编写了一个 VBS 脚本,该脚本在特定组中的用户登录机器时运行(这是作为应用于这些用户的 GPO 的一部分设置的)。

最近,一些用户加入了这个小组,他们需要更多语言的键盘,所以我在脚本中添加了一些额外的字段。新脚本似乎在从未以这种方式设置键盘的机器上运行良好,但对于那些使用旧键盘脚本登录的机器,仍强制执行该脚本设置的键盘,似乎没有一个额外的键盘应用于新机器。

以下是我尝试使用的脚本:

Dim WshShell                   
Set WshShell = WScript.CreateObject("WScript.Shell")
'Portugese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\2", "00000816", "REG_SZ"
'Japanese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\3", "00000411", "REG_SZ"
'Japanese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\4", "e0010411", "REG_SZ"
'Chinese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\5", "00000804", "REG_SZ"
'Chinese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\6", "e00e0804", "REG_SZ"
'Arabic Libya
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\7", "0000040c", "REG_SZ"
'German
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\8", "00000407", "REG_SZ"
'Swedish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\9", "0000041d", "REG_SZ"
'Spanish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\10", "0000040a", "REG_SZ"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\ShowStatus", 0, "REG_DWORD"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\ExtraIconsOnMinimized ", 1, "REG_DWORD"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\Label", 1, "REG_DWORD"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\Transparency", 0, "REG_DWORD"

如果我查看语言栏中未显示新键盘的计算机上的 regedit,并进入 HKEY_USERS,.DEFAULT 的键盘布局仅列出默认的英国键盘。但是当我将用户登录到计算机时,HKEY_USERS 底部会出现一个新条目,其中列出了语言栏中出现的 3 个键盘(但没有列出后来添加到上述 VBS 的其他键盘)。我曾尝试编辑此条目的字符串,但这没有影响,重新启动后,我所做的更改消失了(我必须使用 regedit 从我的计算机执行此操作,因为用户无法访问这些设置)。

我也尝试过在 .DEFAULTuser 键上添加一个附加键盘,但重启后也无济于事。

有没有办法让机器忘记所有已应用的键盘设置,以便下次有人登录时,它会使用此脚本中定义的设置?或者脚本中缺少某些东西,可以让机器忘记旧设置?

目前,我认为唯一可行的方法是重新安装机器,这对于修复丢失的键盘来说可能有些过度,而且当有 20 台机器需要修复并且将来可能会请求额外的键盘时,这种方法并不实用。

任何帮助都值得感激!

答案1

我最终改变了其中的一些选项并得到了以下结果:

Dim WshShell                   
Set WshShell = WScript.CreateObject("WScript.Shell")
'German
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\2", "00000407", "REG_SZ"
'Japanese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\3", "00000411", "REG_SZ"
'Chinese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\4", "00000404", "REG_SZ"
'Swedish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\5", "0000041d", "REG_SZ"
'Spanish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\6", "0000040a", "REG_SZ"
'Portugese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload\7", "00000816", "REG_SZ"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\ShowStatus", 4, "REG_DWORD"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\ExtraIconsOnMinimized", 1, "REG_DWORD" 
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\Label", 1, "REG_DWORD"
WshShell.RegWrite "HKCU\Software\Microsoft\CTF\LangBar\Transparency", ff, "REG_DWORD"

相关内容