Windows PowerShell-scripts maken en uitvoeren als geplande taken

Voltooid

Geplande taken zijn een combinatie van Windows PowerShell-achtergrondtaken en Windows Task Scheduler-taken . Net als bij achtergrondtaken definieert u geplande taken in Windows PowerShell. Daarnaast worden taakresultaten, zoals taken, opgeslagen op schijf en kunnen geplande taken worden uitgevoerd, zelfs als Windows PowerShell niet wordt uitgevoerd.

Geplande taken

Geplande taken maken deel uit van de onderdelen van de Windows-kerninfrastructuur. Andere Windows-onderdelen en -producten die op Windows worden uitgevoerd, maken uitgebreid gebruik van geplande taken. Ze zijn over het algemeen eenvoudiger dan geplande taken. Met Task Scheduler kunt u een planning configureren voor het uitvoeren van vrijwel elk programma of proces, in elke beveiligingscontext, die wordt geactiveerd door verschillende systeemgebeurtenissen of een bepaalde datum of tijd.

Geplande taken kunnen echter geen taakuitvoer vastleggen en bewerken. Een geplande taak kan bijna alles uitvoeren dat kan worden uitgevoerd op een Windows-apparaat, zodat het onmogelijk is om de uitvoer van de geplande taak te anticiperen en vast te leggen. Omdat een geplande Windows PowerShell-taak echter altijd een Windows PowerShell-script is, zelfs als dat script een niet-Windows PowerShell-programma uitvoert, kan het systeem uitvoer vastleggen. In dit geval wordt een Windows PowerShell-object aan het einde van het scriptblok geretourneerd. Een geplande taak bestaat uit:

  • De actie, waarmee het programma moet worden uitgevoerd.
  • De principal, waarmee de context wordt geïdentificeerd die moet worden gebruikt om een actie uit te voeren.
  • De trigger, die de tijd of systeem gebeurtenis definieert die bepaalt wanneer het programma moet worden uitgevoerd.
  • De aanvullende instellingen, die de taak verder configureren en bepalen hoe de actie wordt uitgevoerd.

Opdrachten die met geplande taken werken, bevinden zich in de module ScheduledTasks die is opgenomen in Windows 10 en Windows Server 2019. Voer de volgende opdracht uit om de volledige lijst met opdrachten te bekijken:

Get-Command –Module ScheduledTasks

Controleer bijvoorbeeld de beschikbare geplande taken door de opdracht Get-ScheduledTask uit te voeren. Hiermee worden alle beschikbare geplande taken weergegeven, ongeacht of ze zijn ingeschakeld of uitgeschakeld.

Haal informatie over een specifieke taak op door Get-ScheduledTask uit te voeren met de parameter -TaskPath. Voor aanbevolen procedures moet u ervoor zorgen dat u het werkelijke pad tussen aanhalingstekens plaatst. Krijg meer informatie over een bepaalde taak met behulp van de opdracht Get-ScheduledTaskInfo . U kunt deze opdrachten vervolgens combineren met behulp van een pijplijn om aanvullende informatie op te halen. Haal bijvoorbeeld gedetailleerde informatie op over de taak Automatisch bijwerken die op uw systeem wordt uitgevoerd door de volgende opdracht in te voeren:

Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" | Get-ScheduledTaskInfo

U kunt ook geplande taken maken en uitvoeren vanuit de Task Scheduler. Wat gebeurt er echter als u Windows PowerShell-opdrachten of -scripts uitvoert of Windows-hulpprogramma's die hun uitvoer niet naar een bestand schrijven? Als de uitvoer belangrijk voor u is, kunt u beter een geplande Windows PowerShell-taak gebruiken. Nadat deze taak zich in de Task Scheduler bevindt, kunt u deze verder bewerken. U kunt deze starten of stoppen in de Taakplanner. Als u meerdere geplande taken of taken lokaal of zelfs op externe computers wilt maken, automatiseert u het maken en onderhouden ervan met de geplande taak of de opdrachten voor geplande taken.

Als u Windows PowerShell-scripts toevoegt als geplande taken in de Task Scheduler , kunt u uw productiviteit aanzienlijk verbeteren. PowerShell Gallery bevat duizenden scripts die u kunt gebruiken of wijzigen voor uw specifieke gebruik, en deze scripts zijn onderverdeeld in verschillende categorieën.

Er zijn bijvoorbeeld honderden levensvatbare scripts die u kunt uitvoeren op Active Directory-domein Services (AD DS) en andere Active Directory-services. Sommige van deze scripts kunnen erg nuttig zijn. Een voorbeeld is het script waarmee gebruikersaccounts worden gevonden die meer dan 90 dagen niet zijn gebruikt en vervolgens worden uitgeschakeld, waardoor de domeinbeveiliging kan worden versterkt. U kunt dit script wijzigen in uw specifieke domein en het vervolgens maken als een geplande taak. Nadat u deze taak hebt geconfigureerd, kunt u de taak zoeken en bewerken in de Taakplanner. Plan het om elke week uit te voeren en geef een rapport op over welke accounts, indien aanwezig, zijn uitgeschakeld.