Arquivo

Arquivo do Autor

PoSh – Comparando arquivos com o command let Compare-Object

abril 24, 2016 Comentários desligados

Olá pessoALL,

Neste post eu irei falar sobre um command let excelente que acompanha o Windows PowerShell: o Compare-Object.

Ao longo do nosso dia a dia de trabalho, comparar determinado arquivo, conteúdo entre diretórios, objetos no Active Directory e outras necessidades mais podem nos pegar de surpresa e fazer com que uma solução de terceiros seja utilizada, por exemplo, um addin do Notepad++.

Entretando, algumas pessoas desconhecem que o Windows PowerShell tem um command let que permite este tipo de ação facilitando a nossa vida na comparação entre uma coisa e outra coisa.

Introdução

Durante o nosso dia a dia de trabalho certamente haverão situações onde se faz necessário verificar determinados itens para gerar evidências de que uma ação foi executada de fato.

Comparar a existência do mesmo serviço em dois ou mais nós em um Failover Cluster, um diretório de log em dois ou mais servidores que suportam uma aplicação balanceada, etc.

Pode parecer trivial quando estamos falando de poucos servidores a serem verificados, poucos arquivos, etc., mas em grande escala, isso pode ser algo passível de erros humanos quando feito pelo olho humano.

Por este motivo, automatizar esta tarefa para garantir que o resultado final está de fato em conformidade com o que é esperado se torna muito importante.

Leia mais…

PoSh – Verificando a data e hora em um host remoto

março 4, 2016 Comentários desligados

Olá pessoALL,

Neste post eu vou falar sobre uma tarefa comum e anual: a verificação de horário em servidores. Mas por que esta tarefa é comum e anual? Como todos nós sabemos, temos anualmente o inicio e termino do horário de versão no Brasil e em outros países ao redor do mundo.

Embora esta situação seja automática e garantida com a aplicação de um KB da Microsoft, ter uma forma de validar que o horário de um ou mais servidores foi alterado realmente é sempre importante para evitar surpresas desagradáveis durante o dia produtivo.

Introdução

Com a chegada e partida do horário de verão todos os anos, ter certeza que sistemas sensíveis a este tipo de evento estejam com sua data e hora atualizadas é uma tarefa imprescindível para garantir que seu ambiente está operando corretamente.

Partindo da premissa de que um ambiente com um número grande de servidores exista neste caso, fazer uma verificação deste nível levaria um tempo consideravelmente grande se feita manualmente, sem contar o tamanho da mão de obra empregada para realizar tal tarefa.

Efetuar o logon em cada servidor para verificar a data e hora pós inicio/término do horário de versão não é uma solução viável dependendo do tamanho do ambiente. Há soluções mais robustas e que permitem um nível de interação com o sistema operacional mínimo, reduzindo o tempo gasto com esta ação.

Com Windows PowerShell é possível conectar a um host remoto para obter a informação de data e hora atual do sistema operacional. Vejamos então como é possível esta ação usando PoSh!.

Leia mais…

PoSh – Como criar/renomear/alterar a senha de uma conta de usuário local remotamente

fevereiro 18, 2016 Comentários desligados

Olá pessoALL,

Hoje nós vamos falar sobre um processo que pode ser necessário no dia a dia de quem cuida de estações de usuários e até mesmo servidores, mas que não é tão prático mesmo usando PowerShell por não existir um command let até o momento para esta necessidade: a criação de objetos locais como uma conta de usuário.

Quero informar também que nos posts relacionados a Windows PowerShell eu irei deixar de colocar códigos substituindo-os por imagens. O motivo é simples e único: não se aprende uma linguagem sem praticar e principalmente sem digitar os códigos!

Meu objetivo é incentivar o uso desta nova linguagem, forçar literalmente quem tem e quem não tem interesse em aprender o uso deste recurso poderoso no dia sem limitar-se a pesquisas no google e tomar este tipo de ação somente em casos onde o conhecimento realmente acabou.

Portanto, say good bye to copy and paste and welcome to the real world right now!

Leia mais…

PoSh – Criando uma tarefa de remoção baseada em um arquivo CSV

janeiro 3, 2016 Comentários desligados

Olá pessoALL,

Primeiramente, espero que tenham tido um feliz natal e que este ano de 2016 seja melhor que 2015 para todos nós.

Introdução

Hoje eu vou falar sobre um processo que é comum no nosso dia a dia: o manuseio de arquivos que precisam ser removidos após um período de tempo específico.

Para este tópico, vamos pensar em uma aplicação que faz uso de arquivos de log para armazenadas informações sobre seu ciclo de processamento. Vamos imaginar também que esta aplicação faça a criação diária destes arquivos e que o desenvolvedor foi negligente não criando uma tarefa interna para manusear estes arquivos.

Como podemos presumir, uma aplicação gerando arquivos de log diariamente irá causar cedo ou tarde um problema de exaustão de espaço no volume onde estes logs são armazenados e por fim, em um ambiente onde existe um monitoramento ativo, um alerta para o time de infraestrutura que deverá executar alguma ação.

Em um ambiente corretamente implementado, você não encontraria arquivos de log sendo depositados no mesmo volume onde estão localizados os binários de instalação de uma ou mais aplicação por segurança. Portanto, é esperado que tenhamos um volume dedicado para arquivos de log.

Leia mais…

PoSh – Comparando e adicionando grupos diferentes entre duas contas de usuário

julho 20, 2015 Comentários desligados

Olá pessoALL,

Este é mais um post sobre PoSh e um atividade do dia a dia de IT-Pros que gerenciam o Active Directory Domain Services, a equalização de grupos entre contas de usuários.

A contratação de um novo colaborador, a mudança de área devido a uma oportunidade entre outras motivos são situações que pode gerar uma demanda que dependendo do número de grupo aos quais uma conta de usuário modelo está associada, pode ser um tanto chato de se fazer uma comparação com o objetivo de determinar quais são as diferenças entre a conta de modelo e a conta de destino.

Solicitações como “usuário X deixou o setor Z e agora está no setor Y, então é preciso que ele tenha todos os acessos necessários para o setor Y, não tenha mais os acessos ao recursos do setor Z e como modelo o usuário M pode ser usado para obter os grupos que o usuário X precisa ser membro”.

Quando este tipo de situação acontece, normalmente eu vejo IT-Pros fazendo a comparação no que chamamos de olhômetro, usando scripts em VBScript com códigos enormes, nada produtivos e dificeis de entender, planilhas do MS Excel com o uso de fórmulas, enfim.

Leia mais…

PoSh – Como criar usuários no AD DS a partir de um CSV?

julho 13, 2015 Comentários desligados

Olá pessoALL,

Este é mais um post de PoSh! sobre algo que ainda existem muitas dúvidas quando IT-Pros se aventuram ao criarem usuários em lotes ou “bulk” no Active Directory.

Frequentemente eu vejo alguns erros como desconhecimento de qual delimitador CmdLets como Import-CSV e Export-CSV entendem por padrão e como declarar as colunas de um arquivo CSV corretamente para esta finalidade.

Com relação ao delimitador, quem pretende criar usuários ou qualquer outro tipo de objeto no Active Directory através de PoSh deve ter em mente que por padrão os CmdLets Import-CSV e Export-CSV usam a vírgula “,” como delimitador padrão.

Leia mais…

PoSh – Como compactar/descompactar arquivos?

julho 4, 2015 Comentários desligados

Olá pessoALL,

Mais um vez eu estou aqui para dar uma dica de algo que é parte do dia a dia de qualquer IT-Pro, a compactação/descompactação de arquivos e de forma mais focada neste post, utilizando PowerShell (PoSh!).

Se você é um IT-Pro certamente já experimentou problemas por falta de espaço livre em volumes de servidores e é praticamente certo que em alguma destas ocasiões você determinou que o ofensor de espaço era uma aplicação gerando arquivos de log de forma não controlada e sem um ciclo de expurgo.

Provavelmente você deve ter tomado uma ação como deletar os arquivos após ter completa certeza que eles não são mais necessários ou então resolveu compactá-los, pois o responsável pelo recurso que os gerou informou que seria necessário preservá-los devido a alguma necessidade.

Sendo bem sincero… Eu detesto este tipo de situação onde você precisa tomar uma ação manual que poderia ser automatizada. Então, como eu posso resolver este tipo de situação que deveria ser resolvida pelo responsável da aplicação que está criando esta demanda de trabalho? Simples!

Leia mais…

PoSh – Como determinar a origem de um account lockedout?

julho 2, 2015 Comentários desligados

Olá pessoALL,

Este é mais um post sobre algo que faz parte do nosso dia a dia, mas que quase sempre eu vejo tomar um tempo considerável para se chegar ao resultado esperado, o bloqueio de contas ou Account Locked Out.

Com a popularização de gadget, smartphones, tablets e todo e qualquer dispositivo móvel que permita acesso a e-mails, comunicação unificada, etc. e até mesmo pelo próprio descuido do usuário em digitar a senha incorretamente, este tipo de situação se tornou ainda mais comum do que era antigamente.

Como eu presumo que é de conhecimento da maioria, o evento registrado no momento do bloqueio da conta é o 4740 populado em Security, mas o que eu normalmente vejo no momento de determinar a origem do bloqueio é um completo desconhecimento de como isso funciona para otimizar o tempo empregado para chegar a este resultado.

É possível automatizar este tipo de processo usando scripts PowerShell de preferência, mas é preciso saber como otimizar o tempo de resposta entendendo onde devemos procurar esta informação primeiramente. A primeira coisa que precisamos ter em mente neste tipo de situação é como o processo de falha de logon funciona.

Leia mais…