PowerShell Script reduz a realização manual de tarefas repetitivas. Se você está frequentemente executando scripts em horários pré-definidos ou em intervalos de tempo especificados, você pode estar cansado de executar scripts repetidamente. Então, você pode utilizar o Task Scheduler do Windows para automatizar a execução de scripts para você. Isto irá poupar o seu tempo e esforço na execução diária/semanal de scripts. Vamos ver como agendar o script PowerShell através do Task Scheduler.

Pode ser feito de duas maneiras.

1.Agendar script PowerShell usando o GUI do Agendador de Tarefas

2.Agendar PowerShell Scheduler a partir do Task Scheduler usando PowerShell

Método 1: Agendar PowerShell Script usando Task Scheduler

Abrir Task Scheduler (pode ser encontrado nas ferramentas â??COPY9â?™ ou pressionando â??COPY8+Râ?™ para abrir a execução e depois digitando â??taskschd.mscâ?.)

Para executar um script do Agendador de Tarefas, siga estes passos.

1.Abrir Agendador de Tarefas -> Biblioteca do Agendador de Tarefas -> Criar Tarefa

2.Na guia Geral, você pode definir o nome do agendador e a descrição sobre a tarefa como para qual propósito a tarefa foi criada.

Opções de segurança disponíveis explicadas abaixo.

  • Especificar o usuário em cujo nome a tarefa será executada.
  • Pode especificar que uma tarefa deve ser executada . Isso pode ser feito selecionando um botão de rádio rotulado “˜Run” se o usuário está logado em não “˜Run”. Se este botão de rádio selecionado, a tarefa não será executada interativamente. Para fazer uma tarefa ser executada interativamente, selecionar o botão de rádio “™Run” somente quando o usuário estiver logado em ˜Do.
  • Quando o botão de rádio “˜Run se o usuário estiver logado ou não em ™Run” estiver selecionado, o usuário pode solicitar que sejam fornecidas as credenciais da conta, independentemente de ter selecionado a caixa de seleção “™ não armazenar senha” em ˜Run ou não. Se a conta não estiver logada durante a execução da tarefa, as credenciais salvas serão usadas.
  • Se a tarefa exigir privilégios elevados, então selecione a opção â??COPY1 com os privilégios mais altosâ?. â??COPY19

3.Mude para a guia Trigger e clique no botão New. Aqui, você pode definir condições que acionam uma tarefa.

  • Você pode especificar quando iniciar a tarefa. Por exemplo, você pode executá-la em um horário, na inicialização, no logon ou sempre que um determinado evento ocorrer, selecionando â??COPY15 a tarefaâ?™ menu suspenso.
  • >

>>

  • Você pode configurar se deseja executar essa tarefa uma vez ou diariamente ou semanalmente ou mensalmente de acordo com o seu cenário.
  • Nas “Configurações Avançadas”, você pode escolher atrasar a tarefa, repetir a tarefa, parar a tarefa se ela for executada por mais tempo do que o período de tempo especificado e data de expiração.
    • Atraso da tarefa até “Isto adiciona um atraso aleatório, de modo que a tarefa venceu “COPY5 stat” na hora exata do dia.
    • Repetição da tarefa a cada “Isto mostra o número de vezes que uma tarefa deve ser executada após o disparo de um gatilho.
      • Repetir tarefa a cada intervalo de tempo entre cada repetição de tarefa
      • Para uma duração de… Quanto tempo uma tarefa deve continuar a repetir
    • >Parar tarefa se ela for mais longa do que… Se a tarefa for mais longa do que o tempo esperado ou nunca desistir, a tarefa irá parar automaticamente se ela atingir o limite de tempo mencionado.
    • >

    • Expirar â?” Após o período de tempo especificado, o cronograma será acionado.

4.Depois abra a próxima aba â??COPY9™â? e clique no botão â??COPY14™â?.

>

  • No menu suspenso Ação, â??Iniciar um programaâ? é definido por padrão. Você pode alterá-lo se necessário.
  • Using Browse, selecione o campo programa/script. Para agendar um script, precisamos selecionar powershell.exe.
    Você pode encontrar powershell.exe no seu sistema32\PindowsPowerShell\v1.0 pasta.
  • Em “argumentos˜Add”, -O parâmetro de arquivo é o padrão, então simplesmente especifique o caminho do script. Por exemplo, eu vou agendar um script que exporta o relatório de status do MFA dos usuários do Office 365.

PowerShell

1
>

c:\GetMFAStatus.ps1

Se o caminho contém algum espaço em branco, deve ser fechado com aspas.

5.Uma vez configurado, você pode especificar condições para determinar se a tarefa deve ser executada. A tarefa não será executada se qualquer condição aqui especificada não for verdadeira.

6.Na aba Configurações, você pode definir configurações avançadas adicionais para controlar a execução da tarefa.

Finalmente, clique em Ok para criar um script agendado.

Scheched script será executado como esperado de acordo com sua agenda sem nenhum problema. Se você quiser verificar a execução do script, você pode clicar em Executar clicando com o botão direito do mouse no nome da tarefa.

Automate PowerShell Scheduler from Task Scheduler com parâmetros

Se você quiser agendar o script PowerShell com parâmetros, use o formato abaixo.

PowerShell

1
Script path -Parâmetro 1 Valor1 -Param2 “Valor 2” -1123

Por exemplo, Eu vou automatizar um dos nossos guiões PowerShell: Export Office 365 Users MFA status report

Durante a programação, você pode passar explicitamente a credencial como parâmetros como mostrado abaixo:

PowerShell

1
>

C:\GetMFAStatus.ps1 -UserName “XXX XX” -Senha ****

Se o valor do parâmetro tiver espaço em branco, os valores devem ser colocados entre aspas.

Se você quiser passar um parâmetro de comutação, você pode usar a sintaxe abaixo.

PowerShell

1
 C:\GetMFAStatus.ps1 -EnabledOnly

Acima de script exporta o status de AMF de usuários do Office 365 cujo status de AMF está habilitado. Aqui -EnabledOnly é um parâmetro de switch.

Para mais scripts PowerShell relacionados com o Office 365, pode consultar o blog O365Reports.com.

Método 2: Agendar PowerShell Script a partir do Agendador de Tarefas Usando PowerShell

Em vez de GUI, pode usar o PowerShell cmdlets para criar uma tarefa de agendamento que automatize o script PowerShell. Envolve os seguintes passos,

1.Definir tempo para agendador

2.Definir ações a serem executadas durante a execução

3.Salvar agendador

Definir tempo para agendador:

New-SchdeuledTaskTrigger cria um objeto de acionamento de tarefa agendada. Usando este cmdlet, você pode especificar a hora de início de uma tarefa ou iniciar uma tarefa várias vezes, diariamente ou semanalmente.

PowerShell

>
>

1
$Time=Novo-ScheduledTaskTrigger -Em 4.00PM -Once

Acima de cmd cria um gatilho de tarefa agendada que começa às 16PM e é executado uma vez.

PowerShell

>
>

1
   $Time=Novo-ScheduledTaskTrigger -Em 4.00PM -Daily -DaysInterval 2

Acima de cmd cria um gatilho de tarefas agendadas que começa a cada 2 dias às 4PM

Ajustar ações a serem executadas durante a execução:

New-SchdeuledTaskAction representam ações executadas quando o Agendador de Tarefas executa a tarefa. Uma tarefa pode ter uma única ação ou um máximo de 32 ações. Quando você especifica múltiplas ações, o Agendador de tarefas executa uma tarefa sequencialmente.   Â

Este comando abre um PowerShell e muda o diretório para C:/Scripts e então invoca o script MFAStatus.ps1.

Save Scheduler:

Register-ScheduledTask salva a tarefa agendada em um computador local.

PowerShell

>

1
> Register-ScheduledTask -TaskName “Schedule MFA Status Report” -Trigger $Time -Action $Action -RunLevel Highest

O cmd acima salva uma tarefa agendada com um nome “Schedule MFA Status Repor” na pasta raiz. A tarefa salva usa a ação pré-criada e os valores de acionamento que são especificados pelas variáveis $Action e $Time.

Use Cases:

Usando o Agendador de Tarefas, você pode agendar um script PowerShell para ser executado periodicamente. Para que você não precise executar manualmente um script em base diária/semanal/mensal. Há mais scripts disponíveis na internet que são amigáveis ao agendador (Credenciais podem ser passadas como parâmetro ao invés de salvar dentro do script). Eu dei alguns exemplos aqui.

  • Histórico de login dos usuários do Office 365 – Mantenha o log de auditoria por mais de 90 dias
  • Relatório periódico do status do MFA dos usuários do Office 365
  • Relatório do último logon dos usuários do Office 365
  • Relatório de permissão da caixa postal do Office 365
  • Relatório de licença dos usuários do Office 365
  • Escalonar Participação em Grupo de Distribuição PowerShell script
  • Schedule Dynamic Distribution Group Membership PowerShell script
  • Relatório periódico sobre o último relatório de atividades dos usuários do Office 365
  • Histórico de login dos usuários do Office 365 PowerShell relatório
  • Relatório periódico de permissões de caixas de correio compartilhadas
  • >

  • Schedule nonrelatório de acesso à caixa de correio do proprietário
  • Office 365 relatório de expiração da senha dos usuários

Neste blog, vimos como automatizar um script PowerShell usando o Task Scheduler.Qual é a sua abordagem preferida quando se trata de agendamento – GUI ou PowerShell? Deixe-nos saber na seção de comentários.

Ainda, se você precisar de melhorias como obter um relatório agendado por e-mail, ou qualquer outra coisa, somos todos ouvidos 🙒

Deixe uma resposta

O seu endereço de email não será publicado.