Skript prostředí PowerShell omezuje ruční provádění opakovaných úloh. Pokud často spouštíte skripty v předem definovaných časech nebo určených časových intervalech, může vás opakované spouštění skriptů unavovat. Pak můžete využít plánovač úloh systému Windows, který za vás automatizuje spouštění skriptů. Ušetří vám to čas a námahu při každodenním/týdenním spouštění skriptů. Podívejme se, jak naplánovat skript prostředí PowerShell prostřednictvím plánovače úloh.

To lze provést dvěma způsoby.

1. Naplánujte skript prostředí PowerShell pomocí grafického rozhraní plánovače úloh

2.Naplánujte skript prostředí PowerShell z nástroje Plánovač úloh pomocí prostředí PowerShell

Způsob 1: Naplánujte skript prostředí PowerShell pomocí nástroje Plánovač úloh

Otevřete nástroj Plánovač úloh (najdete jej v části „Nástroje pro správu“ nebo stisknutím kláves „Windows+R“ otevřete spouštění a poté zadejte „taskschd.msc“.)

Chcete-li spustit skript z Plánovače úloh, postupujte podle následujících kroků.

1. Otevřete Plánovač úloh -> Knihovna Plánovače úloh -> Vytvořit úlohu

2. Na kartě Obecné můžete nastavit název plánovače a popis úlohy, například za jakým účelem byla vytvořena.

Dostupné možnosti zabezpečení jsou vysvětleny níže.

  • Určit uživatele, jehož jménem bude úloha spuštěna.
  • Můžete určit, že úloha má být spuštěna . Lze to provést výběrem přepínače označeného jako „Spustit bez ohledu na to, zda je uživatel přihlášen“. Pokud je toto přepínačové tlačítko vybráno, úloha se interaktivně nespustí. Chcete-li, aby úloha byla spuštěna interaktivně, vyberte přepínač „Spustit pouze tehdy, když je uživatel přihlášen“.
  • Pokud je vybráno přepínač „Spustit, ať je uživatel přihlášen, nebo ne“, můžete být vyzváni k zadání přihlašovacích údajů k účtu bez ohledu na to, zda jste zaškrtli přepínač „Neukládat heslo“, nebo ne. Pokud není účet během provádění úlohy přihlášen, budou použita uložená pověření.
  • Pokud úloha vyžaduje zvýšená oprávnění, vyberte možnost „Spustit s nejvyššími oprávněními“.

3. Přepněte na kartu Spouštěč a klikněte na tlačítko Nový. Zde můžete nastavit podmínky, které spustí úlohu.

  • Můžete určit, kdy se má úloha spustit. Můžete ji například nechat spustit podle plánu, při spuštění, při přihlášení nebo vždy, když nastane určitá událost, výběrem z rozevírací nabídky „Spustit úlohu“.

  • Můžete nastavit, zda chcete tuto úlohu spustit jednou nebo denně, týdně nebo měsíčně podle vašeho scénáře.
  • V „Rozšířeném nastavení“ můžete zvolit zpoždění úlohy, opakování úlohy, zastavení úlohy, pokud běží déle, než je zadaný časový úsek a datum vypršení platnosti.
    • Zpoždění úlohy až -“ Přidává náhodné zpoždění, takže úloha nebude stat přesně v denní dobu.
    • Pak opakovat úlohu každý -“ Ukazuje, kolikrát se má úloha spustit po spuštění spouštěče.
      • Repeat task every -“ Časový interval mezi jednotlivými opakováními úlohy
      • Po dobu- Jak dlouho se má úloha opakovat
    • Stop task if it runs longer than- Pokud úloha běží déle, než je očekávaná doba, nebo nikdy neskončí, úloha se automaticky zastaví, pokud dosáhne uvedeného časového limitu.
    • Ukončit- Po uplynutí zadaného časového období se plán nespustí.

4. Poté otevřete další kartu „Akce“ a klikněte na tlačítko „Nový“.

  • V rozevíracím seznamu Akce je standardně nastaveno „Spustit program“. V případě potřeby ji můžete změnit.
  • Pomocí tlačítka Procházet vyberte pole program/skript. Pro naplánování skriptu musíme vybrat powershell.exe.
    Skript powershell.exe najdete ve složce system32\WindowsPowerShell\v1.0.
  • V poli „Přidat argumenty“ je parametr -File výchozí, takže stačí zadat cestu ke skriptu. Například budu plánovat skript, který exportuje hlášení o stavu MFA uživatelů Office 365.

PowerShell

1
c:\GetMFAStatus.ps1

Pokud cesta obsahuje prázdné místo, měla by být uzavřena uvozovkami.

5. Po konfiguraci můžete zadat podmínky, které určí, zda se má úloha spustit. Úloha se nespustí, pokud některá zde zadaná podmínka není pravdivá.

6.Na kartě Nastavení můžete nastavit další pokročilá nastavení pro řízení provádění úlohy.

Nakonec kliknutím na tlačítko Ok vytvoříte naplánovaný skript.

Naplánovaný skript se bez problémů spustí podle vašeho plánu. Pokud chcete zkontrolovat provedení skriptu, můžete kliknout na tlačítko Spustit kliknutím pravým tlačítkem myši na název úlohy.

Automatický skript PowerShell z plánovače úloh s parametry

Pokud chcete naplánovat skript PowerShell s parametry, použijte následující formát.       Â

.

PowerShell

1
Cesta ke skriptu -.Param 1 Value1 -Param2 “Value 2â€

Například, Budu automatizovat jeden z našich skriptů prostředí PowerShell: Export Office 365 Users MFA status report

Při plánování můžete explicitně předat pověření jako parametry, jak je uvedeno níže:

PowerShell

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

Pokud má hodnota parametru prázdné místo, měly by být hodnoty uzavřeny uvozovkami.

Pokud chcete předat parametr přepínače, můžete použít níže uvedenou syntaxi.

PowerShell

1
 C:\GetMFAStatus.ps1 -EnabledOnly

Výše uvedený skript exportuje stav MFA uživatelů Office 365, jejichž stav MFA je povolen. Zde je -EnabledOnly parametr přepínače.

Další skripty PowerShell týkající se Office 365 naleznete na blogu O365Reports.com.

Metoda 2: Naplánování skriptu PowerShell z plánovače úloh pomocí prostředí PowerShell

Místo grafického uživatelského rozhraní můžete použít rutiny prostředí PowerShell k vytvoření plánovací úlohy, která automatizuje skript PowerShell. Zahrnuje následující kroky,

1. Definujte čas pro plánovač

2. Nastavte akce, které se mají provést během provádění

3. Uložte plánovač

Definice času pro plánovač:

New-SchdeuledTaskTrigger vytvoří objekt spouštěče naplánované úlohy. Pomocí této rutiny můžete určit čas spuštění úlohy nebo spuštění úlohy vícekrát na denní nebo týdenní bázi.

PowerShell

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

Výše uvedený cmd vytvoří spouštěč naplánované úlohy, který se spustí ve 4PM a spustí se jednou.

PowerShell

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

Výše uvedený cmd vytvoří spouštěč naplánované úlohy, který se spustí každé 2 dny ve 4 hodiny odpoledne

Nastavení akcí, které se mají provést během provádění:

New-SchdeuledTaskAction představují akce, které se provedou, když plánovač úloh spustí úlohu. Úloha může mít jednu akci nebo maximálně 32 akcí. Pokud zadáte více akcí, Plánovač úloh provede úlohu postupně.   Â

Tento příkaz otevře prostředí PowerShell a změní adresář na C:/Scripts a poté vyvolá skript MFAStatus.ps1.

Uložení plánovače:

Register-ScheduledTask uloží naplánovanou úlohu na místní počítač.

PowerShell

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

Výše uvedený cmd uloží do kořenové složky naplánovanou úlohu s názvem „Schedule MFA Status Report“. Uložená úloha používá předem vytvořené hodnoty akce a spouštěče, které jsou zadány proměnnými $Action a $Time.

Případy použití:

Pomocí plánovače úloh můžete naplánovat pravidelné spouštění skriptu prostředí PowerShell. Nemusíte tak ručně spouštět skript na denní/týdenní/měsíční bázi. Na internetu je k dispozici více skriptů, které jsou přívětivé k plánovači (Pověření lze předat jako parametr místo uložení uvnitř skriptu). Několik příkladů jsem uvedl zde.

  • Sledovat historii přihlášení uživatelů Office 365 – uchovávat auditní protokol po dobu delší než 90 dní
  • Pravidelné hlášení stavu MFA uživatelů Office 365
  • Hlášení o čase posledního přihlášení uživatelů Office 365
  • Hlášení o oprávněních k poštovním schránkám Office 365
  • Hlášení o licencích uživatelů Office 365
  • Hlášení o časovém plánu. PowerShell skript členství v distribučních skupinách
  • Schedule Dynamic Distribution Group Membership PowerShell skript
  • Periodický report o poslední aktivitě uživatelů Office 365 report
  • Schedule Office 365 users‘ login history PowerShell report
  • Export shared mailbox permission report periodically
  • Schedule non-owner mailbox access report
  • Office 365 users‘ password expiry report

V tomto blogu, jsme si ukázali, jak automatizovat skript prostředí PowerShell pomocí Plánovače úloh.Jaký přístup preferujete, pokud jde o plánování – grafické uživatelské rozhraní nebo prostředí PowerShell? Dejte nám vědět v komentářích.

Pokud byste potřebovali nějaké vylepšení, jako je získání naplánované zprávy e-mailem nebo cokoli jiného, jsme jedno ucho 🙑

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.