Dicas de como funciona a ordem de procedência de uma GPO

GPO

Fala pessoal, tudo bem com vocês? Hoje irei falar sobre o a ordem de processamento das GPOs, ou seja, a ordem que as GPOs são aplicas.

A ordem de processamento começa com:

  1. Local
  2. Site
  3. Domain
  4. OU

Você pode criar uma GPO local, usando o gpedit.msc, em seguida vem a GPO de Site, logo depois Domínio e por fim em OUs.

Em OUs você pode granular as GPOs de uma forma que para mim acho ótima, onde posso por exemplo bloquear hierarquia de GPOs, em outras palavras posso desativar a hierarquia de uma determinada OU e ela só irá receberas GPOs que estão com Link para ela ou as GPOs que estão configuradas como ENFORCE

Uma outra dica, se você abrir o seu Group Policy Management e verificar a parte de Group Policy Inheritance, você verá a partede Precedence (Isso é bem importante na hora de verificar a ordem, pois olhando para os números, você pode encontrar por exemplo:

Nesse exemplo, para você qual será a primeira GPO a ser aplicada? Default Domain Policy? Não rsrs

As GPOs com o número mais baixo, serão processadas por último rsrs

Nesse meu print, você está vendo a palavra Enforced, o que isso significa? Significa que mesmo que eu bloqueie a hierarquia em uma OU, essas GPOs irão ser aplicadas da mesma forma rsrs. LEMBRE-SE A GPO MAIS RESTRITIVA É A QUE GANHARÁ.

Quando você definiu uma GPO como Enforce, ela automaticamente irá ficar com um número mais abaixo na ordem.

Irei abordar mais sobre isso em outro Post, gostou do conteúdo?

Até o próximo post.

Conheça o PowerShell DSC

PowerShell

Fala Pessoal, tudo bem com vocês? Hoje irei falar sobre PowerShell DSC. Já ouviu falar? Não sei se você curte fazer a mesma coisa varias vezes, particularmente, eu não gosto rsrs

O PowerShell DSC, é uma plataforma no qual permite que você gerencie sua infraestrutura como um código. Vou te falar um exemplo… você tem uma documentação de um servidor em um arquivo World, com um passo a passo de como instalar ou configurar determinado servidor.

Com o PowerShell DSC, posso criar uma documentação em código, no qual irá realizar o deploy desse servidor ou garantir que o mesmo está com as mesmas configurações que foram realizadas.

Você pode garantir que tal serviço esteja com o status de running, ou tal serviço esteja desabilitado. Ahh e esqueci de comentar que também tem no Azure rsrs

Conceitos Principais

A DSC é uma plataforma declarativa usada para configuração, implantação e gerenciamento de sistemas. Consiste em três componentes principais:

Configurações são scripts declarativos do PowerShell que definem e configuram instâncias de recursos. Após executar a configuração, a DSC (e os recursos que estão sendo chamados pela configuração) vai simplesmente “realizar”, garantindo que o sistema exista no estado disposto pela configuração. As configurações da DSC também são idempotentes: o Gerenciador de Configurações Local (LCM) continuará garantindo que os computadores sejam configurados no estado declarado pela configuração.

Os recursos são a parte de “realização” da DSC. Eles contêm o código que definem e mantêm o destino de uma configuração no estado especificado. Os recursos residem dentro de módulos do PowerShell e podem ser escritos para modelar algo tão genérico quanto um arquivo ou um processo do Windows ou tão específico quanto um servidor IIS ou em uma VM em execução no Azure.

Gerenciador de Configurações Local (LCM) é o mecanismo pelo qual a DSC facilita a interação entre recursos e configurações. Regularmente, o LCM sonda o sistema usando o fluxo de controle implementado pelos recursos para garantir que o estado definido por uma Configuração seja mantido. Se o sistema estiver sem estado, o LCM fará chamadas para o código nos recursos para “realizar”, de acordo com a configuração.

Fonte: https://docs.microsoft.com/pt-br/powershell/scripting/dsc/overview/overview?view=powershell-7.1

Aqui irei deixar um link, se você tiver interesse, irei postar mais sobre isso, e também irei colocar no meu Github.

RBAC Conhece?

Azure, Microsoft


Fala pessoal, tudo bem com vocês? hoje venho com um conteúdo diferente, hoje irei falar sobre RBAC(Role Base Access Control)

Se você usa, o Azure você precisa do RBAC rsrs, mas Paulo, o que seria isso? Basicamente, é uma parte do azure onde você pode delegar permissões para alguns usuários… Vou explicar de outra de outra maneira. Com o RBAC você pode delegar para um usuário uma permissão especifica no que ele pode fazer dentro do seu ambiente azure.

Você pode por exemplo, criar um usuário com o um privilegio FULL (ou seja, ele praticamente pode fazer o que bem entender dentro da sua plataforma… Ou você pode criar um usuário com permissão de apenas leitura, onde ele só irá enxergar os recursos, ou você pode filtrar ainda mais rsrs.

Uma coisa que eu, Paulo sempre preso, é o menor privilegio possível para um usuário que não precisa…

Vamos usar um exemplo, eu tenho meu user PauloCostaTI onde ele é o GLOBAL ADMIN, ou seja, eu possa fazer o que bem entender, na minha assinatura rsrs, mas tenho certeza que você não vai querer isso para usa empresa, pois isso pode gerar muuuuuuito CUSTO.

Entao, iremos usar o RABC, para minimizar o que cada usuario, pode acessar, fazer, criar, apagar e etc….

Granulando o acesso, voce tem mais seguranca no seu ambiente.

Em outras palavras o RABC, é um sistema de que vai granular as autorizacoes de cada usuario.



Mas Paulo, o que posso fazer com ele?

O que posso fazer com o RBAC do Azure?

Aqui estão alguns exemplos do que você pode fazer com o RBAC do Azure:

  • Permitir que um usuário gerencie máquinas virtuais em uma assinatura e outro usuário gerencie redes virtuais
    • Permitir que um grupo de DBA gerencie bancos de dados SQL em uma assinatura
    • Permitir que um usuário gerencie todos os recursos em um grupo de recursos, como máquinas virtuais, sites e sub-redes
    • Permitir que um aplicativo acesse todos os recursos em um grupo de recursos

Fonte: https://docs.microsoft.com/pt-br/azure/role-based-access-control/overview

Em poucas linhas, tentei passar uma visão básica do RBAC, no link acima você encontrara diversas informações, fique a vontade para criar laboratórios, e usar no seu dia a dia.

Sites e Replicação do Active Directory

Microsoft, Windows Server

Fala pessoal, tudo bem com vocês? Hoje irei falar sobre Sites e replicação do Active Directory. Você já trabalha com sites e replicações? Irei abordar nesse primeiro momento a teoria de como funciona.

Paulo, o que são Sites do AD? Os sites no AD irão representar a localidade do seu host e da sua rede. Como assim? Vamos supor que eu tenho 1 empresa que contem 2 filiais, cada filial fica em uma cidade diferente como por exemplo Recife e São Paulo, e também tenho redes diferentes em cada filial.

Com o Site, irei facilitar a identificação do servidor de AD mais próximo para realizar a autenticação.

E replicação Paulo? A replicação funciona de duas maneiras, são elas: intrasite e intersite. Provavelmente você ficou confuso com esses dois nomes rsrs, mais irei explicar de uma forma mais simples.

A replicação intrasite ela ocorre quando você tem por exemplo 2 DCs em 1 mesmo site (Sempre recomendo que você tenha no mínimo 2 DCs) essa replicação intrasite ocorre de uma forma bem mais rápida do que a intersite.

Sobre a intersite, ela ocorre quando a replicação é realizada entre sites diferentes. Usando meu exemplo, seria a replicação do site Recife com o site São Paulo. A Mesma demora um pouco mais para ocorrer e tem um Padrão de 3 horas.

Quando usamos vários ADs, é sempre recomendado que você verifique o estado da replicação para evitar possíveis problemas. Existe alguns comandos que você pode executar para monitorar essa replicação, também existem ferramentas de monitoração como o Zabbix que você pode usar.

Paulo qual é a mais simples de verificar? Eu particularmente para identificar possíveis falhas e até exportar para um csv por exemplo, eu uso o Active Directory Replication Status Tool, irei deixar o link da ferramenta aqui.

Irei deixar também dois comandos que você pode usar para verificar a replicação:

  • Repadmin
  • Dcdiag

No próximo artigo, irei montar um ambiente na pratica e colocar aqui. Agradeço por ter ficado até aqui, até o próximo post.

Como eu estudo para certificações?

Microsoft

Fala pessoal, tudo bem com vocês? Hoje irei falar um pouco de como eu me preparo para realizar as minhas certificações.

Sempre antes de começar a me preparar para uma certificação, nesse caso irei usar como exemplo Microsoft, eu entro no site exemplo da AZ-303 https://docs.microsoft.com/pt-br/learn/certifications/exams/az-303

Verifico as habilidades medidas e o peso de cada habilidade. Logo depois eu baixo a estrutura dos tópicos do exame.

Com o passar do tempo, comecei a focar primeiramente no que eu tenho pouco conhecimento, e organizo uma cronograma de estudos para isso.

Estou usando o NOTION (é um aplicativo de uso pessoal gratuito, mas também tem a versão paga).

Aqui está um exemplo de como organizo, coloco os assuntos, nível de conhecimento, materiais que estou estudando.

Antes de começar, eu sempre deixo marcada a prova.

Para cada tópico desses, faço a criação de questões e anoto assuntos importantes que achei durante o curso e realizo os laboratórios que considero muito importante.

Algumas pessoas, aprendem mais lendo livros, no meu caso eu aprendo mais com vídeos, então uso os conteúdos da PluralSight e Udemy para isso.

Também sempre procuro no Reddit, ou em outros locais como foi as provas de outras pessoas, se tiveram 60 questões, 2 casos de estudos e etc…

Para simulado, recomendo a https://www.measureup.com/microsoft/microsoft-technical.html

A mesma é simulado oficial da Microsoft, onde você pode ver onde você está errando mais e entender como será a prova, caso seja sua primeira prova Microsoft.

Uma ultima dica, realizou a prova e recebeu o FAIL, NÃO DESISTA, pegue os pontos que você menos acertou e estude novamente.

Já tive provas que reprovei 3 vezes, e é sempre colocar na cabeça para não desistir.

GPO : Dica básica Troubleshoot

GPO

Fala pessoal, tudo bem com vocês? Hoje resolvi escrever sobre uma dica básica de troubleshoot de GPO, no qual vejo muito acontecer esse exemplo que irei falar.

Quando eu (Paulo), vou fazer um troubleshoot de uma GPO, existem algumas coisas que eu verifico primeiro. São elas:

  • A GPO está na OU correta?
  • A GPO está habilitada?
  • A GPO é para computador ou usuário? Na OU existe os 2?
  • As configurações estão corretas?
  • Existe algum filtro de segurança?
  • Existe um filtro WMI?

Essas são algumas das verificações básicas que realizo. Hoje irei falar de um erro bastante comum, que é criar uma GPO para computador e colocar a GPO em uma OU onde não existe computadores. Esse erro pode parecer algo simples para você, mas para quem está começando não.

Então Paulo, qual é dica ? rsrs Fez o Check básico ? Criou uma GPO para computador e o computador não está na OU? Ai está o erro, quando você criar uma GPO com configurações para computador, certifique-se que a GPO será aplicada na OU que contenha computadores. O mesmo cenário para usuários, certifique-se que na OU contenha usuários.

Como sempre falo, sempre tenha um ambiente de homologação antes de colocar em produção uma GPO.

Em outros Posts irei falar mais a fundo, sobre troubleshoots em GPOs, mas primeiro vamos começar com o básico rsrs

Por quê aprender a criar scripts em PowerShell?

PowerShell

Fala pessoal, tudo bem com vocês? No post de hoje irei falar um pouco sobre o por quê de aprender a criar scripts em PowerShell.

Recentemente fiz um post falando sobre automatização com PowerShell, e hoje irei falar sobre criar scripts. Antes de começar tenho que te falar algo que talvez não seja tão legal rsrs, é fácil ? Não! Mas vai te ajudar demais profissionalmente e também e poupar tempo no seu trabalho.

Eu particularmente não gosto de realizar tarefas que sejam repetitivas e que são fáceis de realizar, então sempre tento criar alguma maneira de automatizar isso. Com PowerShell consigo realizar diversas tarefas, em vários computadores, servidores, usuários e etc.

Vamos usar um cenário simples onde aprender a criar scripts ou aprender o básico do PowerShell iria te ajudar muito…. Seu gerente lhe pede um relatório com os usuários que não fazem Logon a 100 dias… e seu ambiente tem 1300 usuários, como você faria par pegar esses usuários ? PowerShell. Em um script você poderia criar em HTML um arquivo formatado, com fontes, cores e mais diversas coisas… Mas também você teria que ter conhecimentos em HTML. Você também poderia criar um script simples onde criasse um arquivo CSV, e no Excel você iria formatar da forma que deseja-se.

Um outro cenário, você tem uma tarefa rotineira e cria um script para realizar ela por você… Se você sair de férias um outro membro da sua equipe poderia rodar esse script, e realizar a mesma tarefa.

Que tal receber por e-mail uma tarefa que você executa diariamente ou semanalmente ? Novamente… PowerShell.

Quando você começar a ver o poder que o PowerShell tem, você sempre irá querer buscar mais e mais.

Por onde começar ? Comece pelo básico, entendo as funções, os módulos e principalmente a logica também é muito importante. Comece anotando suas atividades e procurando uma maneira de criar um script para isso.

Também existe diversos scripts prontos, mas aconselho que verifique todo o script caso vá usa-lo e entenda o que cada linha está fazendo.

Paulo e cursos? Eu particularmente sou apaixonado pela PluralSight e recomendo muito. Mas também tem diversos vídeos no Youtube e cursos da Udemy. Irei deixar aqui no fim um Link do curso de PowerShell do grande Daniel Donda, que irá lhe da uma base e caminhos para isso.

E como falei no primeiro post sobre automação com PowerShell, crie um ambiente de laboratório e deixe sua imaginação fluir rsrs Muitos erros em vermelho irão acontecer no começo, mas isso é parte do aprendizado, não se desanime por isso, errar faz parte do processo para você evoluir.

Um grande abraço, e bons estudos.

Curso PowerShell :

https://www.udemy.com/course/aprenda-powershell-do-zero/

Documentação:

https://docs.microsoft.com/pt-br/powershell/scripting/overview?view=powershell-7.1

GPO: Excluir Perfil de usuário que não conecta há “x” dias

GPO

Fala pessoal, tudo bem com vocês? Hoje irei abordar uma GPO simples, que podem ajudar a realizar uma limpeza automática em perfis que não se conectam em um computador há “x” dias.

Para configurar essa GPO, iremos nos conectar no nosso AD, ou se você tiver o RSAT você pode abrir o gerenciador de políticas de grupo e realizar a configuração por lá.

Antes de realizar o procedimento, tenha em mente que você pode habilitar para um determinado tempo, e o usuário estava de férias… você pode ter algum problema com isso rsrs.

Com isso em mente, vamos começar rsrs

Vamos abrir primeiro o Gerenciador de Políticas de grupo (Group Policy Management)

Com ele aberto, vamos criar uma GPO.

Irei definir o nome como: Excluir perfil 40 dias. Você pode definir o nome que achar melhor.

Agora iremos editar nossa GPO, para realizar as configurações.

Iremos em Computer Configuration > Policies > Administrative Templates > System > User Profile

Agora iremos procurar pela configuração: Delete User profiles older than a specified number of days on system restart

Agora iremos procurar pela configuração: Delete User profiles older than a specified number of days on system restart

Iremos habilitar essa configuração, e definir o número de dias. Uma observação que esqueci de colocar, essa configuração os computadores precisam ser reiniciados, pois ela funciona com a reinicialização deles.

No meu caso, configurei para 40 dias.

Agora você dele colocar a GPO na OU que você deseja aplicar. Recomendo sempre que faça um ambiente de homologação antes de colocar em produção.

Essa foi a dica de hoje, até a próxima.

Automatização de tarefas com PowerShell Introdução

Microsoft, PowerShell

Fala pessoal, tudo bem com vocês? Hoje irei falar um pouco sobre como automatizar tarefas com o PowerShell.

Antes de tudo, recomendo que você tenha conhecimento básico sobre PowerShell, pois para começar as automatizações você precisa do básico.

Quando falo em automação, irei abordar aqui sobre scripts, e não sobre funções etc. Eu particularmente prefiro criar meus scripts no PowerShell ISE, mas você pode ficar à vontade para usar a ferramenta que você se sentir mais à vontade.

Irei deixar no final do artigo um Link para meu Github, onde irei começar a compartilhar scripts que uso.

Vamos começar?

Por padrão, quando você executa pela primeira vez um script de PowerShell ele será bloqueado por padrão. Um exemplo de arquivo seria o .ps1

Vamos verificar como está a política de execução de scripts no PowerShell.

Modos:

  • Restricted (Com essa configuração, você não vai conseguir rodas scripts);
  • Unrestricted (Com essa configuração, seria meio que dizer não ligue para de onde veio o script, simplesmente rode rsrs… Recomendo que você use essa configuração);
  • RemoteSigned (Com essa configuração, os scripts criados localmente, ou com uma assinatura digital, serão executados);
  • AllSignet (Com essa configuração, basicamente só será liberado scripts que forem assinados digitalmente com um certo tipo de certificado. Ainda tem mais algumas configurações que irei deixar um KB da Microsoft sobre isso);
  • ByPass (Com essa configuração, você meio que fala para o Powershell não se preocupar rsrs, ela é usada por usuários mais avançados).

Para verificarmos qual configuração estamos no momento iremos digitar no PowerShell (abrir como adm):

Get-ExecutionPolicy

No meu caso, Restricted. Irei alterar para RemoteSigned. Para realizar essa alteração digite:

Set- ExecutionPolicy RemoteSigned

Ao realizar essa configuração, irá aparecer o seguinte aviso

Ao tentar realizar sem abrir como administrador, ele irá mostrar o seguinte erro.

Como administrador

Com essas configurações, vamos começar a criar um script bem básico, e rodar ele.

O script que irei mostrar, é algo muito básico, mas que pode ajudar você de uma forma simples, encontrar quem desligou/reiniciou o computador/servidor.

No PowerShell ISE, irei criar o seguinte arquivo ps1.

Get-EventLog -LogName System | Where EventID -eq 1074 

E irei salvar como Log Desligamento.ps1

Agora iremos abrir o nosso PowerShell como administrador e executar o script.

Aqui estão os Logs de uma forma bem mais rápida.

Agora iremos criar um script, para pegar todos os usuários do domínio, que estão com a senha para nunca expirar.

Nesse script iremos digitar:

Search-ADAccount -PasswordNeverExpires -UsersOnly

Vamos salvar, você pode colocar o nome que você desejar…

Esse script, ele precisa ter o modulo de Active Directory, se estiver usando o Windows 10 você precisa instalar o RSAT.

E Aqui está o retorno do nosso script.

Irei finalizar por aqui, mas recomendo que você crie um ambiente de laboratório e deixe sua imaginação fluir para criar scripts para automatizar algumas tarefas.

Você também pode procurar scripts prontos, ou modificados para sua necessidade.

Link Github: https://github.com/paulocostatipe/PowerShell

Documentação sobre as políticas: https://docs.microsoft.com/pt-br/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1