Configurações adicionais do teclado do Active Directory

1

Temos alguns usuários em nossa empresa que precisam usar Keybaords adicionais para que um dos outros administradores tenha escrito um script VBS que é executado quando os usuários de um grupo específico fazem login na máquina (isso é definido como parte de um GPO aplicado a esses usuários).

Recentemente, alguns usuários se juntaram a esse grupo que precisavam de teclados em outros idiomas, então adicionei alguns campos extras ao script. O novo script parece funcionar bem em uma máquina que nunca teve um teclado configurado dessa maneira, mas, para as máquinas em que alguém fez login com o script de teclado antigo, os teclados definidos por esse script ainda são aplicados, nenhum dos adicionais teclados parecem ser aplicados à nova máquina.

Aqui está o script que estou tentando usar:

Dim WshShell                   
Set WshShell = WScript.CreateObject("WScript.Shell")
'Portugese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000816", "REG_SZ"
'Japanese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000411", "REG_SZ"
'Japanese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "e0010411", "REG_SZ"
'Chinese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000804", "REG_SZ"
'Chinese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "e00e0804", "REG_SZ"
'Arabic Libya
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "0000040c", "REG_SZ"
'German
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000407", "REG_SZ"
'Swedish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "0000041d", "REG_SZ"
'Spanish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "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"

Se eu olhar para o regedit em uma máquina que não exibe os novos teclados na barra de idiomas e entrar em HKEY_USERS, o .DEFAULT possui um Layout de teclado que lista apenas o teclado padrão do Reino Unido. Mas quando eu logar um usuário na máquina, uma nova entrada aparece em HKEY_USERS na parte inferior e isso lista os 3 teclados que aparecem na barra de idiomas (mas não os outros que foram posteriormente adicionados ao VBS acima). Eu tentei editar as seqüências de caracteres para esta entrada, isso não tem efeito, depois de uma reinicialização a alteração que fiz desaparece (eu tenho que fazer isso da minha máquina com regedit como o usuário não tem capacidade para chegar a essas configurações).

Eu também tentei adicionar um teclado adicional à chave de usuário .DEFAULT, e isso não ajuda depois de uma reinicialização.

Existe uma maneira de fazer com que a máquina esqueça todas as configurações do teclado que foram aplicadas, de modo que a próxima vez que alguém fizer login, use aquelas definidas neste script? Ou há algo faltando no script que poderia fazer a máquina esquecer as configurações antigas?

No momento, a única maneira que acredito que funcionará seria reinstalar a máquina, o que provavelmente é um exagero para consertar teclados faltantes e não é prático quando há 20 máquinas que precisam dessa fixação e teclados adicionais podem ser solicitados no futuro .

Qualquer ajuda apreciada!

    
por Rumbles 21.11.2014 / 14:58

1 resposta

0

Acabei mudando algumas opções e acabei com isso:

Dim WshShell                   
Set WshShell = WScript.CreateObject("WScript.Shell")
'German
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000407", "REG_SZ"
'Japanese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000411", "REG_SZ"
'Chinese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "00000404", "REG_SZ"
'Swedish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "0000041d", "REG_SZ"
'Spanish
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "0000040a", "REG_SZ"
'Portugese
WshShell.RegWrite "HKCU\Keyboard Layout\Preload", "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"
    
por 14.12.2014 / 01:36