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

Gerenciador do Hyper-V não aparece

Dicas, Microsoft, Windows Server

Fala pessoal, tudo bem com vocês? Como já do meu costume, entrei em um fórum sobre Microsoft, e vi uma duvida no qual já tive, onde o Gerenciador do Hyper-V não mostrava no Gerenciador do servidor.

Então resolvi escrever uma forma simples de conseguir acessar o Gerenciador do Hyper-V rsrs.

Existe uma forma bem simples de acessar o gerenciador do Hyper-V, que é abrindo o seu executável.

Paulo, essa é a única solução ? NÃO! Existe outras, mas irei abordar apenas essa, pois é bem simples.

Se você tiver com Windows 10, recomendo usar o RSAT.

Mas se for no servidor do Hyper-V, vamos da maneira mais fácil.

Primeiro você irá entrar: C:\Windows\System32\virtmgmt.msc e copiar para sua área de trabalho, esse arquivo é o executável do Gerenciador do Hyper-V. Simples e rápido.

Você também pode encontrar o arquivo no formato .exe

Essa foi uma dica simples e rápida sobre Hyper-V

Como descobrir em qual servidor uma determinada GPO foi criada via PowerShell

GPO, PowerShell

Fala pessoal, tudo bem com vocês? Hoje resolvi escrever uma dica, no qual já vi vários técnicos e analistas com dificuldades para encontrar em qual servidor uma determinada GPO foi criada.

Digamos, que você tenha um ambiente com 8 servidores de AD, e vários administradores que criam GPO no seu ambiente. Como saber em qual servidor foi criada uma determinada GPO?

Para realizar esse procedimento iremos precisar da GUID da GPO, que irei mostrar mais abaixo como encontrá-la.

Um outro exemplo, no qual você pode usar esse procedimento, seria quando você realizada um gpupdate /force e encontramos um erro que uma GPO não foi aplicada por algum motivo, que pode ser por exemplo um problema de replicação entre os servidores.

Vamos para o que interessa? Rsrs

Primeiro iremos abrir a console do Group Policy Manegement. Nesse exemplo irei usar uma GPO que já conheço o nome, mas não sei em qual servidor ela foi criada.

Irei clicar na GPO, e irei em Details para pegar o GUID dessa GPO.

Iremos pegar o valor Unique ID, com esse valor agora iremos abrir o PowerShell e executar um comando.

repadmin /showmeta "cn={GUID DA GPO },cn=policies,cn=system,dc =seudominio,dc=local"

No meu caso, ficaria dessa forma:

Aqui usei o PowerShell ISE

Depois de rodar esse comando, obtive a seguinte tela:

Retirei uma grande parte de informações nesse print, porem o comando irá trazer bem mais informações.

Espero que essa dica ajude, até a próxima.

Como verificar GPOs aplicadas para usuários e computadores

GPO, Windows Server

Fala pessoal, tudo bem com vocês? Recentemente vi uma pergunta em um fórum sobre como verificar quais GPOs estavam sendo aplicadas para usuários e computadores.

Sei para muitos isso é bem fácil, e para quem está começando, nem sempre rsrs.

Então resolvi escrever um pouco sobre isso.

Você pode verificar quais GPOs estão sendo aplicadas no computador e usuário pelo CMD (Command Prompt)

Geralmente para as GPOs de computador, uso o CMD como poderes administrativos.

Acredito que o comando mais conhecido é o gpresult /r com ele, você poderá verificar quais GPOs estão sendo aplicadas, além de outras informações como Grupos que fazem parte e etc.

Segue o exemplo:

GPO aplicada para esse servidor

GPO aplicada para meu usuário:

Também gosto muito de usar o RSOP, com ele consigo verificar quais configurações estão sendo alteradas, e por quais GPOs

Basta você digitar rsop no CMD

Tela de carregamento do rsop

Depois de carregar, o mesmo mostrará as configurações de GPO como um gpedit.msc

Essa foi a dica de hoje. Você conhecia ou usa o RSOP?

Intune Bloqueando copia de arquivos do Perfil Comercial para pessoal (Android)

Dicas, Intune, Microsoft

Fala pessoal, tudo certo com vocês?

Recentemente, venho estudando sobre o Intune, especialmente em uso para Dispositivos Android. Hoje venho compartilhar uma dica de configuração que considero muito útil, que é bloquear a copia de arquivos, como por exemplo um texto de e-mail, do seu perfil comercial (Empresarial) para o perfil pessoal.

Para começar, vamos abrir o Microsoft Endpoint Manager https://endpoint.microsoft.com/

Iremos na parte de Dispositivos > Android

Vamos clicar em Android, e procurar por Perfis de configuração

Aqui, iremos criar um novo Perfil.

Em Plataforma, irei selecionar: Android Enterprise

Tipo de Perfil: Perfil de trabalho de Propriedade Pessoal e selecionar a configuração: Restrições do dispositivo

Vamos clicar em Criar.

Na primeira tela, irei definir o nome da Politica como: Bloquear copia de arquivos, mas fique a vontade para definir o nome que você deseja.

Vamos clicar em avançar.

Em Parâmetros de configuração, irei na parte de Configurações de perfil de trabalho

Irei em configurações Gerais, e bloquear a seguinte configuração

Existe, diversas outras configurações, mas irei mostrar apenas essa.

Vamos clicar em avançar.

Aqui, você pode adicionar Grupos, ou adicionar todos usuários / Dispositivos que irão receber essa politica.

Irei adicionar o Grupo, que criei para realizar o teste.

E vamos clicar em avançar, para revisar e criar.

Vamos Criar.

Depois de criada, irei em propriedades, para verificar as configurações

Depois, de criada e atribuída para um grupo ou dispositivo, irei aguardar para meu dispositivo receber a politica e testar.

Irei usar como exemplo, um email que recebi e tentarei copiar uma parte.

Aqui, estou no meu perfil Comercial, e irei tentar copiar essa mensagem para meu perfil pessoal.

E aqui, mostra o resultado. Não posso copiar arquivos da minha organização para meu perfil pessoal.

Essa foi a dica de hoje, espero que tenham gostado. Até a proxima.

4 Dicas para buscar informações no AD com PowerShell

PowerShell, Windows Server

Fala pessoal, tudo certo com vocês?

Hoje irei falar um pouco sobre PowerShell e GPO, e alguns comando que uso no meu dia a dia, que podem ajudar a vocês, a ter um processo mais automatizado para algumas coisas. Já vi pessoas por exemplo, entrando em usuário por usuário para verificar se a conta estava com a senha para nunca expirar, ou tirar um relatório de contas bloqueadas..

Hoje irei deixar 4 dicas, de comandos que você pode precisar usar, e vai economizar muito tempo do seu trabalho.

Eu particularmente, sempre gosto de usar o PowerShell ISE, para realizar algumas tarefas.

Vamos para 1ª dica, bem simples e que pode ajudar você a saber se seu ambiente está em compliance com suas diretivas na empresa.

Dica 1:

Como identificar via Powershell contas que estão marcadas para a senha nunca expirar? (Lembrando do meu post passado, isso não é uma boa pratica ter contas com senhas que nunca expiram…)

Com o PowerShell ISE ou Powershell, no seu AD, execute o seguinte comando:

Search-ADAccount -PasswordNeverExpires -UsersOnly

Esse comando retornara para você todos usuários que estão com a senha para nunca expirar, automatizando seu trabalho e trazendo esses dados em segundos rsrs.

Dica 2:

E como verificamos quais contas estão expiradas? Bem simples também, iremos mudar apenas 1 coisinha.

Search-ADAccount -AccountExpired  -UsersOnly

Esse comando retornara todas as contas expiradas, bem mais simples que procurar uma por uma né? rsrs

Dica 3:

E como verificar quais contas estão bloqueadas? O comando é praticamente o mesmo, mudando apenas um parâmetro

Search-ADAccount -LockedOut -UsersOnly

Esse comando retornara todas as contas bloqueadas, facilitando seu trabalho 😀

Dica 4:

Como verificar quais contas estão desabilitadas rsrs

Search-ADAccount -AccountInactive -UsersOnly

Com esse comando, iremos verificar todas as contas desabilitadas.

Além desses comandos, que coloquei de uma forma mais simples, existe diversos outros parâmetros que você pode usar, como por exemplo, exportar para um arquivo HTML, ou realizar alguns filtros para aparecer só o nome, dentre vários outros. Irei deixar a documentação da Microsoft, no qual irá mostrar com mais detalhes esses comandos.

Eu gosto de usar bastante o Format-Table nos comandos e em scripts, irei deixar também a documentação dele.

Search-ADAccount (Documentação)

https://docs.microsoft.com/en-us/powershell/module/activedirectory/search-adaccount?view=windowsserver2019-ps

Format-Table (Documentação)

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-7.1