Majdnem minden rendszergazdának foglalkoznia kell ütemezett feladatokkal. Ezek hihetetlenül hasznosak, ha különböző triggerek alapján kell elvégezni valamit, de sok kézi munkát igényel a megfelelő konfigurálásuk.
Az ütemezett feladatok előnye, hogy mélyen kifinomultan lehet létrehozni egyet a triggeropciókkal és a különböző biztonsági kontextusokkal. Ahol azonban a komplexitás uralkodik, ott konfigurációs hibák keletkezhetnek. Amikor ezeket az automatizálási parancsfájlokat fejleszti, létrehozhat egy ütemezett feladatot a PowerShell segítségével, hogy megkönnyítse a folyamatot. A PowerShell használata segít egységesíteni a bonyolult ütemezett feladatokkal járó kezelési és beállítási munkát, aminek további előnye, hogy elkerülhetők a kézi bevitelből adódó szokásos hibák.
Elkészíteni egy ütemezett feladat műveletét
Az ütemezett feladatnak legalább egy művelete, egy kiváltó és egy csoport kapcsolódó beállítása van. Miután létrehozta a feladatot, regisztrálnia is kell azt a rendszerben. Egyetlen ütemezett feladat létrehozásához az egyes műveleteket külön-külön kell végrehajtania.
A művelet létrehozásához használja a New-ScheduledTaskAction cmdletet, amely megadja a végrehajtandó parancsot. Hozzunk létre egy olyan műveletet, amely egy kicsit meta, és meghív egy PowerShell szkriptet.
Az alábbi parancs egy példát ad a PowerShell motor meghívására és egy szkript átadására az összes megfelelő parancssori kapcsoló használatával, hogy a szkript nem interaktívan fusson. A parancsfájl azon a gépen található, amelyen az ütemezett feladat futni fog.
$Action = New-ScheduledTaskAction -Execute 'pwsh.exe' -Argument '-NonInteractive -NoLogo -NoProfile -File "C:\MyScript.ps1"'
Elindító létrehozása
A következő lépésben szükség van egy indítóra. Több érték is rendelkezésre áll, de ez a feladat egy adott időpontot — hajnali 3 órát — fog használni a szkript egyszeri végrehajtásához. A lehetőségek teljes listáját a New-ScheduledTaskTrigger cmdlet súgóoldalán találja.
$Trigger = New-ScheduledTaskTrigger -Once -At 3am
Elkészíteni a beállításokat
A következő lépésben hozza létre az ütemezett feladatot a New-ScheduledTask paranccsal. Ez a parancs megköveteli a Settings paraméter értékét, még akkor is, ha nem használ semmilyen speciálisat. Ezért a New-ScheduledTaskSettingsSet parancsot futtatja, hogy létrehozzon egy objektumot, amelyet itt átadhat.
$Settings = New-ScheduledTaskSettingsSet
Elkészíti az ütemezett feladatot
Az összes objektum változóként való hozzárendelése után adja át az egyes változókat a New-ScheduledTask parancsnak, hogy létrehozzon egy ütemezett feladatobjektumot.
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings
Regisztrálja az ütemezett feladatot
Ezzel a ponttal létrehozta az ütemezett feladatobjektumot a memóriában. Ahhoz, hogy az ütemezett feladatot hozzáadhassa a számítógéphez, regisztrálnia kell az ütemezett feladatot a Register-ScheduledTask cmdlet segítségével.
Az alábbi példában egy ütemezett feladatot regisztrál egy adott felhasználónév alatt történő futtatásra. Ahhoz, hogy a feladatot egy adott felhasználói környezet alatt futtassa, meg kell adnia a jelszót. Hasznos megnézni a Register-ScheduledTask parancs dokumentációját, hogy lássa az összes lehetőséget, amit ezzel a cmdlet-tel használhat.
Register-ScheduledTask -TaskName 'My PowerShell Script' -InputObject $Task -User 'username' -Password 'passhere'
Ha minden lépést helyesen követett, akkor az újonnan létrehozott ütemezett feladatot látnia kell a Feladatütemezőben.
Az ütemezett feladat regisztrálása és megjelenése után a Feladatütemezőben már futtathatja a Get-ScheduledTask parancsikont a feladat megtekintéséhez
.