quarta-feira, 21 de novembro de 2012

Mover configurações do DHCP para outro servidor

Há pouco mais de 1 ano atrás, precisei mover as configurações do servidor de DHCP para um outro box. O backup/restore da interface gráfica tem um problema: Não salva a lista de Reservas.

Pesquisando na net, encontrei esse artigo e meu problema foi solucionado.

quarta-feira, 14 de novembro de 2012

Criando regras no Outlook via PowerShell

Para preparar este post, usei como referência os seguintes artigos:

http://blogs.technet.com/b/heyscriptingguy/archive/2009/12/16/hey-scripting-guy-december-16-2009.aspx

http://dandarache.wordpress.com/2011/07/25/using-powershell-to-create-rules-in-outlook/

Recentemente, o Administrador de Redes aqui da empresa implementou um novo recurso anti-spam no Servidor de Correio Eletrônico onde o mesmo acrescenta uma tag [SPAM] no início do assunto do e-mail. Ele então me perguntou se havia a possibilidade de criar uma regra no Outlook para mover as mensagens com essa tag para a pasta Lixo Eletrônico.

Só para constar: não trabalhamos com a solução Exchange e nossos usuários utilizam arquivos .PST armazenados localmente em suas estações de trabalho.

Após pesquisar alguns sites, cheguei aos dois acima citados e criei um script em PowerShell que funcionou perfeitamente.

Segue o script:


Vale lembrar que o script não funciona com o Outlook 2003 e inferiores.

Espero que ele sirva a mais alguém assim como me serviu.

Até a próxima.

quinta-feira, 12 de julho de 2012

Função genérica para abertura de formulários WinForm

Hoje enquanto me dedicava ao meu projeto (codenome) Ingrid, comecei a desenvolver uma aplicação Windows Form e me deparei com uma situação:

Verificar se um determinado formulário já está aberto ou não. Se estiver, não abra outro novo, apenas selecione-o.

O código para este tipo de verificação é bem simples, mas acaba se tornado bem complexo se você escreve-lo para cada formulário que precisar verificar. Foi então que, após algumas queimas de neurônios, crei uma função genérica que resolve meu problema em apenas uma linha de codificação.

Segue o código da função:


Para abrir/selecionar o formulário, basta a seguinte linha de código:




BÔNUS:
Que tal fechar todos os formulários abertos de uma só vez?








Até a próxima.

segunda-feira, 28 de maio de 2012

Criando Fonte de Dados através de Diretivas de Grupo

O Caso:
Aqui na empresa utilizamos uma aplicação de terceiros que necessita de uma Fonte de Dados ODBC para configurar a conexão com o banco de dados SQL Server. A princípio, esta configuração era feita manualmente em todos os computadores que utilizavam tal aplicação. Com isso, a cada formatação destes computadores, era necessário a recriação dessa Fonte de Dados.

A Proposta:
Resolvemos utilizar o recurso de Preferências da Diretiva de Grupo (GPP) para automatizar o processo de criação desta Fonte de Dados e reduzir uma atividade da Equipe de Suporte de Campo.

O Problema:
Após criada a GPO, observamos que a mesma não estava sendo aplicada nos computadores alvo. Ao pesquisar o Visualizador de Eventos, encontramos um evento de Aplicativo de ID 4098 com a seguinte descrição:


O item de preferência usuário 'AplicacaoTerceiro' do objeto de Diretiva de Grupo 'ODBC Aplicacao {CC2F3937-17G8-37F5-C4G1-AABD1013645Z}' não foi aplicado porque falhou com o código de erro: '0x80070057 Parâmetro incorreto.' Esse erro foi suprimido.


A Pesquisa:
Após pesquisarmos sobre o código de erro descrito no evento, descobrimos que o Windows possui um "bug" na criação desta GPO: É acrescido um parâmetro a mais no arquivo .XML desta diretiva que causa este erro.

A Solução:
É preciso editar o arquivo manualmente e excluir o parâmetro a mais. Para encontrá-lo é fácil:
  1. Acesse a pasta SYSVOL de algum Controlador de Domínio;
  2. Acesse a pasta [FQDN Domain]\Policies;
  3. Acesse a pasta da Diretiva do ODBC (para saber qual é a Diretiva correta, basta olhar na descrição do evento, que neste caso, é a pasta {CC2F3937-17G8-37F5-C4G1-AABD1013645Z});
  4. Acesse a pasta User\Preferences\DataSources (vale lembrar que criamos uma Fonte de Dados de Usuário. Se fosse de Sistema, seria a pasta Machine ou invés da pasta User).
  5. Na pasta DataSources edite o arquivo DataSource.xml.
  6. Encontre o parâmetro cpassword="" e apague-o.
  7. Salve a alteração e pronto.
Vale lembrar que sempre que esta GPO for alterada, será necessário repetir esta operação para eliminar o parâmetro cpassword.

Até a próxima.

quinta-feira, 29 de março de 2012

Remote Desktop não permite o uso de credenciais salvas

Estava eu hoje criando uma série de atalhos para conexões de Remote Desktop para evitar ficar digitando a senha toda vez que acessava um servidor remotamente e quando fui testá-las recebi a seguinte mensagem:

"Your credentials did not work
Your system administrator does not allow the use of saved credentials to log on to the remote computer [ComputerName] because its identity is not fully verified. Please enter new credentials."


Para contornar essa situação, é preciso fazer um ajuste na política local do computador onde foram criados os atalhos:
  1. Abra a política de grupo local (Executar -> gpedit.msc)
  2. Navegue até Local Computer Policy\Computer Configuration\Administrative Templates\System\Credentials Delegation
  3. Edite a configuração Allow Delegating Saved Credentials with NTLM-only Server Authentication
  4. Marque a opção Enabled, clique no botão Show e na janela Show Contents inclua o seguinte valor: TERMSRV/*
  5. Clique no botão OK para confirmar e fechar todas as janelas.
Feita a alteração, cliquei duas vezes sobre um dos atalhos criados e consegui logar remotamente no servidor sem precisar digitar a senha.