PoSh – Comparando arquivos com o command let Compare-Object
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.
PoSh – Como criar/renomear/alterar a senha de uma conta de usuário local remotamente
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!
PoSh – Criando uma tarefa de remoção baseada em um arquivo CSV
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.
PoSh – Comparando e adicionando grupos diferentes entre duas contas de usuário
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.
PoSh – Como criar usuários no AD DS a partir de um CSV?
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.
PoSh – Como compactar/descompactar arquivos?
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!
PoSh – Como determinar a origem de um account lockedout?
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.