quinta-feira, 25 de outubro de 2012

Forçar Layout de Teclado via GPO

Na empresa que trabalho atualmente, temos uma série de modelos e marcas de ThinClients e alguns deles insistem em alterar o Layout do Teclado para Inglês toda as vezes que o usuário realiza um LOGON no servidor de WTS, o que sempre acaba gerando uma série de Incidentes para a Central de Serviço. Este problema está relacionado com a própria configuração de Idioma e Layout de Teclado do ThinClient.
Para resolver este problema, fiz uma série de pesquisas na Internet, e acabei encontrando uma solução prática que irei descrever em linhas gerais neste post.

1 - Criar um arquivo .reg com o conteudo abaixo. Este arquivo será importado via GPO.

------- START KeyboradLayoutBR.reg -------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Keyboard Layout\Preload]
"1"="00000416"
"2"=-
"3"=-

------- END KeyboradLayoutBR.reg -------

O valor "00000416" é o código para o Layout de Teclado ABNT2. As demais chaves com valor "-" será excluídas/zeradas do regeistro.

2 - Crie um GPO e vincule com OU e/ou Dominio, conforme achar melhor

3 - Navegar até “Configurações de Usuário > Modelos Administrativos > Painel de Controle > Opções Regionais e de Idioma

4 - Habilitar as Chaves “Restringe os idiomas da UI que o Windows deve usar para o usuário selecionado” e “Restringir a seleção do idioma dos menus e caixas de diálogo do Windows” e ajustar ambas configurações para “Português (Brasil)

5 - Na GPO recém criada, navegue até “Configurações de Usuário > Configurações do Windows > Scripts (Logon/Logoff)

6 - Adicione um script de "Logon" com os seguintes paramêtros: em "Nome do Script:" digite "regedit /s" para realizar a importação do ".reg" em modo silencioso. Em "Paramêtros do Script:" digite o caminho completo incluindo o nome do arquivo. Neste ponto a GPO está pronto.

7 - A próxima configuração será realizada no Terminal Server. Abra o "regedit" e navegue até a chave “\HKLM\SYSTEM\CurrentControlSet\Control\KeyboardLayout”.

8 - Crie uma chave do tipo "DWORD" com o nome de "IgnoreKeyboardLayout" com o valor "1".

9 - Entre nas sessões dos usuários e execute "gpupdate /force" e depois faça um LOGOFF.



As configurações realizadas acima resolveram os problemas com o Layout de Teclado dos ThinClients.

quinta-feira, 9 de agosto de 2012

WSUS não Atualiza Desktops XP


Certo dia alguns desktops com Windows XP simplesmente não estavam mais atualizando através do WSUS. Realizei uma série de pesquisas e configurações, mas nenhum acabou surtindo o efeito desejado.
Depois de muitas pesquisas e análises do LOG do WSUS em um cliente, juntamente com as configurações testadas acima, encontrei uma solução para o problema. Gostaria de dizer que ela funcionou no meu caso, mas com são muitas opções/erros que podem acontecer, em certos casos, ela poderá não ser muito útil.
Ai vai ela:

:: Atualização no Servidor WSUS
Aplique a atualização WSUS-KB272011 referente à sua plataforma (x86 ou x64).

:: Teste de Conexão
Você pode realizar a conexão com o WSUS utilizando o utilitário WSUS Client Diagnost Tool. Esta ferramenta mostra como está a saúde da conexão entre o Cliente e o Servidor de Atualização.

:: Verificação de LOGs
Para a verificação de LOGs utilizei um aplicativo com o nome de Tail for Win32. Facilitou muito para mim a visualização dos acontecimentos dentro do arquivo c:\WINDOWS\WindowsUpdate.log.

:: Mão na Massa
De posse dos artifícios mencionados, execute o programa “TAIL”, abra o arquivo “C:\WINDOWS\WindowsUpdate.log” e clique no botão “Resume Scrolling” para iniciar o monitoramento do arquivo. Abra um “Prompt de Comando” e execute o comando wuauclt /detectnow. Fique de olho no TAIL. Surgirá uma linha informando uma falha no download e qual a atualização que está apresentando problema (Veja exemplo abaixo).

DnldMgr    Failed file: URL = 'http://wsus/Content/44/2B03B54C0972C16AB6CE75F42AC4877AF87CE844.exe', Local path = 'C:\WINDOWS\SoftwareDistribution\Download\789de410a60b090acadde68e4e4933ac\2b03b54c0972c16ab6ce75f42ac4877af87ce844'

DnldMgr    Error 0x80246002 occurred while downloading update; notifying dependent calls.

O texto sublinhado no log acima era a atualização que estava bloqueando as atualizações no Windows XP. De posse do nome da atualização problemática, vá para o servidor WSUS, abra a pasta que contem os repositórios da atualização e localize a pasta “44” (Ex.: C:\WSUS\WsusContent\44).

Iremos para os serviços de atualização, excluir a pasta, resetar as atualizações e reiniciar os serviços novamente. Para isso, abra o “Prompt de Comando” no Servidor WSUS e digite os seguintes comandos:

C:\>net stop wuauserv
C:\>net stop bits

Exclua a pasta que possui a atualização com problemas. Então:

C:\>Program Files\Updates Services\Tools\wsusutil.exe reset
C:\>net start wuauserv
C:\>net start bits

Vá para o Desktop no “Prompt de Comando” e execute os seguintes comandos:

C:\>net stop wuauserv
C:\>net stop bits

Exclua a pasta "C:\WINDOWS\SoftwareDistribution"

C:\>net start wuauserv
C:\>net start bits
C:\>wuauclt /resetauthorization /detectnow

Fique de olho nos LOGs e confirme se atualização com problema não é mais exibida. Da forma descrita acima, consegui contornar o problema de atualização dos Desktops Windows XP através do WSUS. No meu caso a atualização era do .NET Framework 3.0, e como a versão atual era 3.5, não tive receio nenhum em manda-la para o espaço.

Valeu!