PowerShell-szkript ütemezése a Feladatütemezővel
A PowerShell-szkript csökkenti az ismétlődő feladatok manuális elvégzését. Ha gyakran hajt végre parancsfájlokat előre meghatározott időpontokban vagy meghatározott időintervallumokban, akkor lehet, hogy belefáradt a szkriptek ismételt végrehajtásába. Ezután használhatja a Windows Feladatütemezőjét a szkriptek végrehajtásának automatizálására. Időt és erőfeszítést takarít meg a szkript napi/heti rendszerességgel történő végrehajtásában. Nézzük meg, hogyan ütemezheti a PowerShell-szkriptet a Feladatütemezőn keresztül.
Ezt kétféleképpen lehet megtenni.
1. Ütemezze a PowerShell-szkriptet a Feladatütemező grafikus felhasználói felületével
2. Ütemezze a PowerShell-szkriptet a Feladatütemezőből a PowerShell használatával
1. módszer: ütemezze a PowerShell-szkriptet a Feladatütemezővel
Nyissa meg a Feladatütemezőt (megtalálható a „Felügyeleti eszközökben”, vagy nyomja meg a „Windows+R” billentyűkombinációt a run megnyitásához, majd írja be a „taskschd.msc” parancsot).
Ha egy parancsfájlt a Feladatütemezőből szeretne futtatni, kövesse az alábbi lépéseket.
1. Nyissa meg a Feladatütemezőt -> Feladatütemező könyvtár -> Feladat létrehozása
2. Az Általános lapon beállíthatja az ütemező nevét és leírását a feladatról, például azt, hogy a feladat milyen célból hozott létre.
Az alábbiakban ismertetjük az elérhető biztonsági lehetőségeket.
- Adja meg a felhasználót, akinek a nevében a feladat futni fog.
- Megadhatja, hogy egy feladatnak futnia kell-e. Ezt úgy teheti meg, hogy kiválasztja a „Futtatás, ha a felhasználó nincs bejelentkezve” választógombot. Ha ezt a választógombot választja, a feladat nem fut interaktívan. Egy feladat interaktív futtatásához jelölje be a „Futtatás csak akkor, ha a felhasználó be van jelentkezve” választógombot.
- Ha a „Futtatás attól függetlenül, hogy a felhasználó be van jelentkezve” lehetőség van kiválasztva, akkor kérheti a fiók hitelesítő adatainak megadását, függetlenül attól, hogy bejelöli-e a „Ne tárolja a jelszót” jelölőnégyzetet.' vagy sem. Ha a fiók nincs bejelentkezve a feladat végrehajtása közben, akkor a mentett hitelesítő adatok kerülnek felhasználásra.
- Ha a feladat magasabb szintű jogosultságokat igényel, válassza a „Futtatás legmagasabb jogosultságokkal” lehetőséget.
3. Váltson az Trigger lapra, és kattintson az Új gombra. Itt beállíthatja a feladatokat elindító feltételeket.
- Megadhatja, hogy mikor kezdje el a feladatot. Például a „Feladat indítása” legördülő menü kiválasztásával végrehajthatja ütemezetten, indításkor, bejelentkezéskor vagy bármikor, amikor egy adott esemény történik.
- Beállíthatja, hogy a forgatókönyvnek megfelelően egyszer vagy naponta, hetente vagy havonta szeretné-e futtatni ezt a feladatot.
A „Speciális beállítások” részben választhatja a feladat késleltetését, megismétlését, leállítását, ha az a megadott időtartamnál és lejárati dátumnál tovább fut.
- Feladat késleltetése legfeljebb - Ez véletlenszerű késleltetést ad hozzá, így a feladat nem a nap pontos időpontjában jelenik meg.
-
Feladat ismétlése minden alkalommal - Megmutatja, hogy egy feladatnak hányszor kell futnia egy trigger aktiválása után.
- Feladat ismétlése minden alkalommal - Az egyes feladatok ismétlése közötti időintervallum
- Időtartamra- Mennyi ideig kell ismétlődnie a feladatnak
4. Ezután nyissa meg a következő „Műveletek” lapot, és kattintson az „Új” gombra.
- A Művelet legördülő menüben a „Program indítása” alapértelmezés szerint be van állítva. Szükség esetén módosíthatja.
- A Tallózás segítségével válassza ki a program/script mezőt. Egy szkript ütemezéséhez ki kell választanunk a powershell.exe fájlt.
A powershell.exe fájl a system32\WindowsPowerShell\v1.0 mappában található.
- Az „Argumentumok hozzáadása” részben a -File paraméter az alapértelmezett, ezért egyszerűen adja meg a szkript elérési útját. Például ütemezni fogok egy szkriptet, amely exportálja az Office 365 felhasználók MFA állapotjelentését.
c:\GetMFAStatus.ps1Ha az elérési út üres helyet tartalmaz, akkor idézőjelek közé kell tenni.
5. A konfigurálás után feltételeket adhat meg annak meghatározásához, hogy a feladatnak futnia kell-e. A feladat nem fut le, ha valamelyik itt megadott feltétel nem igaz.
6.A Beállítások lapon további speciális beállításokat is megadhat a feladat végrehajtásának vezérléséhez.
Végül kattintson az OK gombra egy ütemezett szkript létrehozásához.
Az ütemezett szkript a várakozásoknak megfelelően, az ütemezésnek megfelelően, probléma nélkül fog futni. Ha ellenőrizni szeretné a szkript végrehajtását, kattintson a Futtatás lehetőségre a feladat nevére jobb gombbal kattintva.
Automatizálja a PowerShell-szkriptet a Feladatütemezőből paraméterekkel
Ha a PowerShell-szkriptet paraméterekkel szeretné ütemezni, használja az alábbi formátumot.
Script path -Param 1 Value1 -Param2 “Value 2”Például automatizálni fogom az egyik PowerShell-szkriptünket: Export Office 365 Users MFA állapotjelentés
Az ütemezés során a hitelesítő adatokat kifejezetten átadhatja paraméterként, az alábbiak szerint:
C:\GetMFAStatus.ps1 -UserName "XXX XX" -Password ****Ha a paraméter értéke üres, akkor az értékeket idézőjelek közé kell tenni.
Megjegyzés: Ha biztonságosabb alternatívát szeretne a jelszavak egyszerű szövegként történő átadására, fontolja meg a tanúsítványok használatát. Az adminisztrátorok egyszerűen hozhatnak létre saját aláírású tanúsítványokat belső célokra, így nincs szükség drága harmadik féltől származó CA-tanúsítványokra.
Ha kapcsolóparamétert szeretne átadni, használja az alábbi szintaxist.
C:\GetMFAStatus.ps1 -EnabledOnlyA fenti parancsfájl exportálja azokat az Office 365 felhasználók MFA-állapotát, akiknek MFA-állapota engedélyezve van. Itt az -EnabledOnly egy kapcsolóparaméter.
További Office 365-tel kapcsolatos PowerShell-szkriptekért tekintse meg az O365Reports.com blogot.
2. módszer: PowerShell-szkript ütemezése a Feladatütemezőből a PowerShell használatával
A grafikus felhasználói felület helyett PowerShell-parancsmagokat használhat a PowerShell-szkriptet automatizáló ütemezési feladatok létrehozásához. Ez a következő lépéseket tartalmazza,
1. Határozza meg az ütemező időpontját
2. Állítsa be a végrehajtás során végrehajtandó műveleteket
3. Ütemező mentése
Időpont meghatározása az ütemező számára:
A New-SchdeuledTaskTrigger ütemezett feladatindító objektumot hoz létre. Ezzel a parancsmaggal megadhatja egy feladat kezdő időpontját, vagy napi vagy heti rendszerességgel többször is elindíthatja a feladatot.
$Time=New-ScheduledTaskTrigger -At 4.00PM -OnceA cmd felett egy ütemezett feladatindítót hoz létre, amely délután 4 órakor indul, és egyszer fut.
$Time=New-ScheduledTaskTrigger -At 4.00PM -Daily -DaysInterval 2A cmd felett egy ütemezett feladatindítót hoz létre, amely kétnaponta délután 4 órakor kezdődik
A végrehajtás során végrehajtandó műveletek beállítása:
A New-SchdeuledTaskAction azokat a műveleteket jelenti, amelyek akkor hajtódnak végre, amikor a Feladatütemező futtatja a feladatot. Egy feladat egyetlen vagy legfeljebb 32 műveletből állhat. Ha több műveletet ad meg, a feladatütemező egymás után hajt végre egy feladatot.
$Action=New-ScheduledTaskAction -Execute PowerShell.exe -WorkingDirectory C:/Scripts -Argument “C:\Scripts\MFAStatus.ps1 -UserName XXXX -Password YYYY”Ez a parancs megnyit egy PowerShellt, és módosítja a könyvtárat C:/Scripts-re, majd meghívja az MFAStatus.ps1 parancsfájlt.
Ütemező mentése:
A Register-ScheduledTask elmenti az ütemezett feladatot egy helyi számítógépre.
Register-ScheduledTask -TaskName "Schedule MFA Status Report" -Trigger $Time -Action $Action -RunLevel HighestA fenti cmd elment egy ütemezett feladatot „Schedule MFA Status Report” néven a gyökérmappába. A mentett feladat az előre létrehozott művelet- és triggerértékeket használja, amelyeket a $Action és a $Time változók adnak meg.
Használati esetek:
A Feladatütemező használatával ütemezheti a PowerShell-szkript rendszeres futtatását. Így nem kell manuálisan futtatnia egy szkriptet napi/heti/havi rendszerességgel. Több szkript is elérhető az interneten, amelyek ütemezőbarátak (a hitelesítő adatok paraméterként is átadhatók a szkripten belüli mentés helyett). Itt hoztam néhány példát.
- Az Office 365-felhasználók bejelentkezési előzményeinek nyomon követése - Vizsgálati naplót több mint 90 napig tart
- Az Office 365-felhasználók MFA állapotának időszakos jelentése
- Ütemezze be az Office 365-felhasználók utolsó bejelentkezési idejéről szóló jelentést
- Az Office 365 postafiók engedélyezési jelentés ütemezése
- Az Office 365-felhasználók licencjelentésének ütemezése
- A terjesztési csoport tagságának ütemezése PowerShell-szkript
- Dinamikus terjesztési csoporttagság ütemezése PowerShell-szkript
- Időszakos jelentés az Office 365-felhasználók utolsó tevékenységi jelentéséről
- Az Office 365-felhasználók bejelentkezési előzményeinek PowerShell-jelentés ütemezése
- Rendszeresen exportálja a megosztott postafiók engedélyezési jelentést
- Nem tulajdonos postafiók-hozzáférési jelentés ütemezése
- Az Office 365-felhasználók jelszavainak lejárati jelentése
Ebben a blogban láthattuk, hogyan automatizálható a PowerShell-szkript a Feladatütemezővel. Mi az Ön által előnyben részesített megközelítés az ütemezés során - GUI vagy PowerShell? Tudassa velünk a megjegyzések részben.








