Leer hoe u een geplande taak maakt met PowerShell

Bijna elke systeembeheerder heeft wel eens te maken met geplande taken. Ze zijn ongelooflijk nuttig om iets te doen op basis van verschillende triggers, maar het vergt veel handmatige inspanning om ze goed te configureren.

Het voordeel van geplande taken is dat je er een kunt maken met een hoog niveau van verfijning met triggeropties en verschillende beveiligingscontexten. Maar waar complexiteit heerst, kunnen configuratiefouten ontstaan. Wanneer u deze automatiseringsscripts ontwikkelt, kunt u een geplande taak maken met PowerShell om het proces te vergemakkelijken. Het gebruik van PowerShell helpt bij het standaardiseren van het beheer en het instellen van ingewikkelde geplande taken, wat als bijkomend voordeel heeft dat de gebruikelijke fouten bij handmatige invoer worden vermeden.

Bouw een geplande taakactie

Op zijn minst heeft een geplande taak een actie, een trigger en een groep bijbehorende instellingen. Zodra u de taak hebt gemaakt, moet u deze ook op het systeem registreren. U moet elke actie afzonderlijk uitvoeren om een enkele geplande taak te maken.

Om de actie te maken, gebruikt u het cmdlet New-ScheduledTaskAction dat de opdracht specificeert die moet worden uitgevoerd. Laten we een actie maken die een beetje meta wordt en een PowerShell script aanroept.

Het commando hieronder geeft een voorbeeld van het aanroepen van de PowerShell engine en het doorgeven van een script aan het met behulp van alle juiste command line switches om het script non-interactief te laten lopen. Het script-bestand bevindt zich op de machine waarop de geplande taak zal worden uitgevoerd.

$Action = New-ScheduledTaskAction -Execute 'pwsh.exe' -Argument '-NonInteractive -NoLogo -NoProfile -File "C:\MyScript.ps1"'

Maak een trigger

Volgende, u hebt een trigger nodig. U hebt een aantal waarden beschikbaar, maar deze taak zal een specifieke tijd gebruiken — 3 uur ‘s morgens — om dit script eenmalig uit te voeren. Voor een volledige lijst met opties, zie de New-ScheduledTaskTrigger cmdlet help page.

$Trigger = New-ScheduledTaskTrigger -Once -At 3am

Create settings

Next, maak de geplande taak met behulp van de New-ScheduledTask commando. Deze opdracht vereist een waarde voor de parameter Instellingen, zelfs als u geen speciale gebruikt. Daarom voert u New-ScheduledTaskSettingsSet uit om een object te maken dat u hier kunt doorgeven.

$Settings = New-ScheduledTaskSettingsSet

Maak de geplande taak

Nadat u alle objecten als variabelen hebt toegewezen, geeft u elk van deze variabelen door aan de opdracht New-ScheduledTask om een object voor de geplande taak te maken.

$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings

Registreer de geplande taak

Op dit punt hebt u een object voor de geplande taak in het geheugen gemaakt. Om de geplande taak op de computer toe te voegen, moet u de geplande taak registreren met het cmdlet Register-ScheduledTask.

Het onderstaande voorbeeld registreert een geplande taak om deze onder een bepaalde gebruikersnaam uit te voeren. Om de taak onder de context van een bepaalde gebruiker uit te voeren, moet u het wachtwoord opgeven. Het is handig om de documentatie voor het Register-ScheduledTask commando te bekijken om alle opties te zien die je met dit cmdlet kunt gebruiken.

Register-ScheduledTask -TaskName 'My PowerShell Script' -InputObject $Task -User 'username' -Password 'passhere'

Als je alle stappen correct hebt uitgevoerd, zou je je nieuw aangemaakte scheduled task in de Task Scheduler moeten zien.

geplande taakinstellingen
Nadat u met PowerShell een geplande taak hebt gemaakt, kunt u de Taakplanner openen om de naam van de taak, de triggers en andere details te zien.

Nadat de geplande taak is geregistreerd en wordt weergegeven in Task Scheduler, kunt u nu het cmdlet Get-ScheduledTask uitvoeren om de taak te zien.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.