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

Um comentário sobre “Automatização de tarefas com PowerShell Introdução

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s