PowerShell-script vermindert het handmatig uitvoeren van repetitieve taken. Als u vaak scripts uitvoert op vooraf gedefinieerde tijdstippen of bepaalde tijdsintervallen, bent u het misschien beu om scripts herhaaldelijk uit te voeren. Dan kunt u Windows’ Taakplanner gebruiken om de uitvoering van scripts voor u te automatiseren. Het zal u tijd en moeite besparen om scripts dagelijks of wekelijks uit te voeren. Laten we eens kijken hoe u PowerShell-script via Taakplanner kunt plannen.

Het kan op twee manieren worden gedaan.

1.PowerShell-script plannen met Task Scheduler GUI

2.PowerShell-script plannen vanuit Taakplanner met PowerShell

Methode 1: PowerShell-script plannen met Taakplanner

Open Taakplanner (deze is te vinden in de ‘Administratieve hulpmiddelen’ of door op ‘Windows+R’ te drukken om Uitvoeren te openen en vervolgens ‘taskschd.msc’ in te typen.)

Om een script vanuit Taakplanner uit te voeren, volgt u deze stappen.

1.Taakplanner openen -> Taakplannerbibliotheek -> Taak maken

2.In het tabblad Algemeen kunt u de naam van de planner en een beschrijving van de taak instellen, bijvoorbeeld voor welk doel de taak is gemaakt.

De beschikbare beveiligingsopties worden hieronder uitgelegd.

  • Specificeer de gebruiker namens wie de taak wordt uitgevoerd.
  • U kunt opgeven dat een taak moet worden uitgevoerd. Dit kan worden gedaan door het selecteren van een radio-knop gelabeld ‘Uitvoeren of de gebruiker is aangemeld niet’. Als dit keuzerondje is geselecteerd, zal de taak niet interactief worden uitgevoerd. Om een taak interactief te laten lopen, selecteert u het keuzerondje ‘Uitvoeren alleen als gebruiker is ingelogd’.
  • Wanneer het keuzerondje ‘Uitvoeren of gebruiker is ingelogd of niet’ is geselecteerd, kunt u worden gevraagd om de credentials van de account in te voeren, ongeacht of u het selectievakje ‘Wachtwoord niet opslaan’ selecteert of niet. Als de account niet is aangemeld tijdens de uitvoering van de taak, worden de opgeslagen referenties gebruikt.
  • Als de taak verhoogde rechten vereist, selecteert u de optie ‘Uitvoeren met de hoogste rechten.’

3.Ga naar het tabblad Trigger en klik op de knop Nieuw. Hier kunt u voorwaarden instellen die een taak activeren.

  • U kunt opgeven wanneer de taak moet worden gestart. U kunt de taak bijvoorbeeld laten uitvoeren volgens een schema, bij het opstarten, bij het aanmelden of wanneer zich een bepaalde gebeurtenis voordoet door het vervolgkeuzemenu ‘Begin the task’ te selecteren.

  • U kunt instellen of u deze taak één keer, dagelijks, wekelijks of maandelijks wilt laten uitvoeren, afhankelijk van uw scenario.
  • In de ‘Geavanceerde instellingen’ kunt u kiezen voor het uitstellen van een taak, het herhalen van een taak, het stoppen van een taak als deze langer loopt dan de opgegeven periode en de vervaldatum.
    • Taak uitstellen tot — Dit voegt een willekeurige vertraging toe, zodat de taak niet op het exacte tijdstip van de dag wordt uitgevoerd.
    • Taak elke keer herhalen — Dit geeft het aantal keren aan dat een taak moet worden uitgevoerd nadat een trigger is afgevuurd.
      • Herhaal taak elke — Tijdsinterval tussen elke taakherhaling
      • Voor een duur van- Hoe lang een taak moet blijven herhalen
    • Stop taak als het langer loopt dan- Als de taak langer loopt dan de verwachte tijd of nooit stopt, zal de taak automatisch stoppen als het de genoemde tijdslimiet bereikt.
    • Verlopen — Na de opgegeven tijdsperiode wordt het schema niet meer geactiveerd.

4.Open vervolgens het volgende tabblad ‘Acties’ en klik op de knop ‘Nieuw’.

  • In de vervolgkeuzelijst Actie is ‘Start een programma’ standaard ingesteld. U kunt dit indien nodig wijzigen.
  • Kies met Bladeren het veld Programma/Script. Om een script te plannen, moeten we powershell.exe selecteren.
    U kunt powershell.exe vinden in de map System32WindowsPowerShell.0.
  • In ‘Argumenten toevoegen’ is de parameter -Bestand standaard ingesteld, dus u hoeft alleen het scriptpad op te geven. Ik ga bijvoorbeeld een script plannen dat het MFA-statusrapport van Office 365-gebruikers exporteert.

PowerShell

1
c:\GETMFAStatus.ps1

Als het pad een spatie bevat, moet deze tussen aanhalingstekens worden geplaatst.

5.Zodra de taak is geconfigureerd, kunt u voorwaarden opgeven om te bepalen of de taak moet worden uitgevoerd. De taak wordt niet uitgevoerd als een hier opgegeven voorwaarde niet waar is.

6.Op het tabblad Instellingen kunt u aanvullende geavanceerde instellingen opgeven om de uitvoering van de taak te regelen.

Klik ten slotte op Ok om een gepland script te maken.

Het geplande script wordt zonder problemen uitgevoerd zoals verwacht volgens uw schema. Als u de uitvoering van het script wilt controleren, kunt u op Uitvoeren klikken door met de rechtermuisknop op de taaknaam te klikken.

PowerShell-script van taakplanner met parameters

Als u het PowerShell-script met parameters wilt plannen, gebruikt u de onderstaande indeling.       Â

PowerShell

1
Scriptpad -.Param 1 Value1 -Param2 “Value 2â€

Bij wijze van voorbeeld, Ik ga een van onze PowerShell script automatiseren: Office 365-gebruikers MFA-statusrapport exporteren

Tijdens het schema kunt u de geloofsbrieven expliciet als parameters doorgeven, zoals hieronder wordt weergegeven:

PowerShell

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

Als de parameterwaarde spaties bevat, moeten de waarden worden ingesloten door aanhalingstekens.

Als u een schakelparameter wilt doorgeven, kunt u de onderstaande syntaxis gebruiken.

PowerShell

1
 C:\GetMFAStatus.ps1 -EnabledOnly

Het bovenstaande script exporteert de MFA-status van Office 365-gebruikers waarvan de MFA-status is ingeschakeld. Hier is -EnabledOnly een schakelparameter.

Voor meer Office 365-gerelateerde PowerShell-scripts kunt u de blog O365Reports.com raadplegen.

Methode 2: PowerShell-script plannen vanuit taakplanner met PowerShell

In plaats van GUI kunt u PowerShell cmdlets gebruiken om een taak te maken die PowerShell-script automatiseert. Het gaat om de volgende stappen,

1.Definieer tijd voor scheduler

2.Stel acties in die tijdens de uitvoering moeten worden uitgevoerd

3.Sla scheduler op

Define Time for Scheduler:

New-SchdeuledTaskTrigger creëert een scheduled task trigger-object. Met dit cmdlet kunt u de starttijd van een taak opgeven of een taak meerdere malen per dag of per week starten.

PowerShell

1
$Time=New-ScheduledTaskTrigger -At 4.00PM -Once

Hierboven creëert cmd een geplande taak-trigger die om 16.00 uur begint en één keer wordt uitgevoerd.

PowerShell

1
  $Time=New-ScheduledTaskTrigger -At 4.00PM -Daily -DaysInterval 2

Het bovenstaande cmd maakt een geplande taak-trigger die elke 2 dagen om 4PM begint

Set Actions to be Performed During Execution:

New-SchdeuledTaskAction staat voor acties die worden uitgevoerd wanneer Task Scheduler de taak uitvoert. Een taak kan een enkele actie of een maximum van 32 acties hebben. Wanneer u meerdere acties opgeeft, voert Task Scheduler een taak sequentieel uit.  Â

Deze opdracht opent een PowerShell en wijzig de directory in C:/Scripts en roep vervolgens het script MFAStatus.ps1 op.

Scheduler opslaan:

Register-ScheduledTask slaat de geplande taak op een lokale computer op.

PowerShell

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

Het bovenstaande cmd slaat een geplande taak op met de naam “Schedule MFA Status Report†in de hoofdmap. De opgeslagen taak maakt gebruik van de vooraf aangemaakte actie- en triggerwaarden die zijn opgegeven door de variabelen $Action en $Time.

Gebruiksgevallen:

Met behulp van Taakplanner kunt u een PowerShell-script plannen om het periodiek uit te voeren. Zodat u niet handmatig een script op dagelijkse / wekelijkse / maandelijkse basis hoeft uit te voeren. Er zijn meer scripts beschikbaar op het internet die scheduler-vriendelijk zijn (Credentials kunnen als parameter worden doorgegeven in plaats van in het script te worden opgeslagen). Ik heb hier enkele voorbeelden gegeven.

  • Inloggeschiedenis van Office 365-gebruikers bijhouden – auditlog meer dan 90 dagen bewaren
  • Periodiek rapport over MFA-status van Office 365-gebruikers
  • Rapport laatste inlogtijd Office 365-gebruikers
  • Rapport Office 365 Mailbox-machtiging
  • Rapport Office 365-gebruikerslicentie
  • Rapport Distributiegroepslidmaatschap
  • PowerShell-script over het lidmaatschap van distributiegroepen

  • Dynamisch PowerShell-script over het lidmaatschap van distributiegroepen
  • Periodiek rapport over laatste activiteit van Office 365-gebruikers
  • Periodiek rapport over inloggeschiedenis van Office 365-gebruikers
  • Periodiek rapport over gedeelde mailboxtoestemming
  • Periodiek rapport over nietowner mailbox access report
  • Office 365 users’ password expiry report

In deze blog, hebben we gezien hoe u een PowerShell-script kunt automatiseren met Task Scheduler.Wat is uw voorkeursaanpak als het gaat om plannen – GUI of PowerShell? Laat het ons weten in de commentaarsectie.

Ook als u verbeteringen wilt, zoals het ontvangen van een gepland rapport via e-mail, of iets anders, zijn we een en al oor 🙒

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.