PowerShell-skripti vähentää toistuvien tehtävien tekemistä manuaalisesti. Jos suoritat komentosarjoja usein ennalta määritettyinä aikoina tai tietyin aikavälein, saatat olla väsynyt toistuvaan komentosarjojen suorittamiseen. Silloin voit hyödyntää Windowsin tehtäväsuunnittelijaa komentosarjojen suorittamisen automatisoimiseksi puolestasi. Se säästää aikaa ja vaivaa suorittaessasi komentosarjaa päivittäin/viikoittain. Katsotaanpa, miten PowerShell-skripti ajoitetaan Tehtävien ajoitusohjelman avulla.

Se voidaan tehdä kahdella tavalla.

1.Ajoita PowerShell-skripti Tehtävien ajoitusohjelman graafisen käyttöliittymän avulla

2.Aikatauluta PowerShell-skripti tehtäväsuunnittelijasta PowerShellin avulla

Menetelmä 1: Aikatauluta PowerShell-skripti tehtäväsuunnittelijan avulla

Avaa tehtäväsuunnittelija (se löytyy ”hallintatyökaluista” tai avaamalla suoritusnäppäimet painamalla ”Windows+R” ja kirjoittamalla sitten ”taskschd.msc”.)

Komentosarjan suorittaminen tehtäväsuunnittelijasta tapahtuu seuraavasti.

1.Avaa tehtäväsuunnittelija -> Tehtäväsuunnittelijan kirjasto -> Luo tehtävä

2.Yleistä-välilehdellä voit asettaa tehtävänsuunnittelijan nimen ja kuvauksen tehtävästä, kuten mitä tarkoitusta varten tehtävä on luotu.

Käytettävissä olevat suojausvaihtoehdot selitetään alla.

  • Määritä käyttäjä, jonka puolesta tehtävä suoritetaan.
  • Voit määrittää, että tehtävä suoritetaan . Se voidaan tehdä valitsemalla valintapainike, jossa on merkintä ‘Run Whether the user is logged on on not’. Jos tämä valintapainike valitaan, tehtävää ei suoriteta vuorovaikutteisesti. Jos haluat, että tehtävä suoritetaan vuorovaikutteisesti, valitse valintapainike ’Run only when user is logged onâ™.
  • Kun valintapainike ‘Run whether user is logged on on or notâ™ on valittuna, sinua saatetaan kehottaa antamaan tilin tunnistetiedot riippumatta siitä, oletko valinnut valintaruudun ‘Do not store passwordâ™ vai et. Jos tili ei ole kirjautuneena sisään tehtävän suorituksen aikana, tallennettuja tunnistetietoja käytetään.
  • Jos tehtävä vaatii korotettuja käyttöoikeuksia, valitse vaihtoehto ‘Ajoita korkeimmilla käyttöoikeuksilla.

3.Siirry Käynnistin-välilehdelle ja napsauta Uusi-painiketta. Tässä voit asettaa ehtoja, jotka käynnistävät tehtävän.

  • Voit määrittää, milloin tehtävä käynnistetään. Voit esimerkiksi määrätä sen suoritettavaksi aikataulun mukaan, käynnistyksen yhteydessä, kirjautumisen yhteydessä tai aina, kun jokin tietty tapahtuma tapahtuu, valitsemalla pudotusvalikosta ”Aloita tehtävä”.

  • Voit määrittää skenaariosi mukaan, haluatko suorittaa tämän tehtävän kerran vai päivittäin tai viikoittain tai kuukausittain.
  • Kohdassa ”Lisäasetukset” voit valita tehtävän viivyttämisen, tehtävän toistamisen, tehtävän pysäyttämisen, jos se suoritetaan pidempään kuin määritetty aika ja päättymispäivä.
    • Viivytä tehtävää enintään – Tämä lisää satunnaisen viiveen, joten tehtävä ei käynnisty täsmälleen oikeaan kellonaikaan.
    • Tehtävän toistaminen joka kerta – Tässä näytetään, kuinka monta kertaa tehtävä on suoritettava laukaisimen laukeamisen jälkeen.
      • Repeat task every — Aikaväli jokaisen tehtävän toiston välillä
      • For a duration of- Kuinka kauan tehtävän tulisi jatkaa toistoa
    • Stop task if it runs longer than- Jos tehtävä toimii pidempään kuin- Jos tehtävä toimii pidempään kuin odotettu aika tai ei koskaan lopeta, tehtävä pysähtyy automaattisesti, jos se saavuttaa mainitun aikarajan.
    • Lopeta – Määritetyn ajanjakson jälkeen aikataulua ei käynnistetä.

4. Avaa sitten seuraava välilehti Toiminnot ja napsauta Uusi-painiketta.

  • Toiminto-pudotusvalikossa on oletusarvoisesti määritetty Toiminnon käynnistäminen. Voit muuttaa sitä tarvittaessa.
  • Valitse selaamalla ohjelma/skripti-kenttä. Skriptin ajoittamiseksi meidän on valittava powershell.exe.
    Powershell.exe löytyy system32\WindowsPowerShell\v1.0-kansiosta.
  • Kohdassa ”Lisää argumentteja” -parametri on oletusarvoisesti -File, joten määritä yksinkertaisesti skriptin polku. Aion esimerkiksi ajoittaa skriptin, joka vie Office 365 -käyttäjien MFA-tilanneraportin.

PowerShell

1
c:\GetMFAStatus.ps1

Jos polku sisältää tyhjiä välilyöntejä, se on suljettava lainausmerkeillä.

5. Kun olet määrittänyt tehtävän, voit määrittää ehtoja, joiden perusteella määritetään, suoritetaanko tehtävä. Tehtävää ei suoriteta, jos jokin tässä määritetty ehto ei ole tosi.

6.Asetukset-välilehdellä voit määrittää muita lisäasetuksia tehtävän suorittamisen hallitsemiseksi.

Luo ajastettu komentosarja napsauttamalla lopuksi Ok-painiketta.

Ajoitettu komentosarja ajetaan odotetusti aikataulusi mukaisesti ilman mitään ongelmia. Jos haluat tarkistaa komentosarjan suorituksen, voit napsauttaa Suorita-painiketta napsauttamalla hiiren kakkospainikkeella tehtävän nimeä.

PowerShell-skriptin ajoittaminen tehtävien ajoitusohjelmasta parametrien avulla

Jos haluat ajoittaa PowerShell-skriptin parametrien avulla, käytä alla olevaa muotoa.         Â

.

PowerShell

1
Skriptin polku -Param 1 Value1 -Param2 ”Value 2”

Esim, Aion automatisoida yhden PowerShell-skriptimme: Vie Office 365 -käyttäjien MFA-tilanneraportti

Aikataulun aikana voit välittää tunnistetiedot nimenomaisesti parametreina alla esitetyllä tavalla:

PowerShell

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

Jos parametriarvossa on tyhjää tilaa, arvot on suljettava lainausmerkeillä.

Jos haluat välittää switch-parametrin, voit käyttää alla olevaa syntaksia.

PowerShell

1
 C:\GetMFAStatus.ps1 -EnabledOnly

Yllä oleva skripti vie Office 365 -käyttäjien MFA-tilan, joiden MFA-tila on käytössä. Tässä -EnabledOnly on kytkentäparametri.

Lisäksi Office 365:een liittyviä PowerShell-skriptejä voit lukea O365Reports.com-blogista.

Metodi 2: Aikatauluta PowerShell-skripti tehtäväsuunnittelijasta PowerShellin avulla

GUI:n sijaan voit käyttää PowerShell-cmdlettejä luodaksesi aikataulutustehtävän, joka automatisoi PowerShell-skriptin. Siihen kuuluu seuraavat vaiheet,

1.Määritä aika ajoittajalle

2.Määritä suorituksen aikana suoritettavat toimet

3.Tallenna ajoittaja

Ajan määrittäminen ajoittajalle:

New-SchdeuledTaskTrigger luo ajoitetun tehtävän laukaisuobjektin. Tämän cmdletin avulla voit määrittää tehtävän aloitusaika tai käynnistää tehtävän useita kertoja päivittäin tai viikoittain.

PowerShell

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

Yllä oleva cmd luo aikataulutetun tehtävän laukaisimen, joka käynnistyy klo 16.00 ja suoritetaan kerran.

PowerShell

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

Yllä oleva cmd luo ajastetun tehtävän triggerin, joka käynnistyy joka toinen päivä klo 16.00

Set Actions to be Performed During Execution:

New-SchdeuledTaskAction edustaa toimintoja, jotka suoritetaan, kun Tehtävien ajoitusohjelma suorittaa tehtävän. Tehtävällä voi olla yksi toiminto tai enintään 32 toimintoa. Kun määrität useita toimintoja, Task Scheduler suorittaa tehtävän peräkkäin.   Â

Tällä komennolla avataan PowerShell ja vaihdetaan hakemistoksi C:/Scripts ja kutsutaan sitten MFAStatus.ps1-skripti.

Tallenna ajastettu tehtävä:

Register-ScheduledTask tallentaa ajastetun tehtävän paikalliseen tietokoneeseen.

PowerShell

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

Ylläoleva cmd tallentaa ajoitetun tehtävän nimellä ”Schedule MFA Status Report” juurikansioon. Tallennettu tehtävä käyttää valmiiksi luotuja toiminto- ja laukaisuarvoja, jotka on määritetty $Action- ja $Time-muuttujilla.

Käyttökohteet:

Tehtävien ajoituksen avulla voit ajastaa PowerShell-skriptin suoritettavaksi säännöllisesti. Näin sinun ei tarvitse suorittaa komentosarjaa manuaalisesti päivittäin/viikoittain/kuukausittain. Internetissä on saatavilla useampia skriptejä, jotka ovat ajastinystävällisiä (valtakirjat voidaan välittää parametrina sen sijaan, että ne tallennettaisiin skriptin sisällä). Olen antanut joitakin esimerkkejä tässä.

  • Seuraa Office 365 -käyttäjien kirjautumishistoriaa – Pidä audit-loki yli 90 päivän ajan
  • Säännöllinen raportti Office 365 -käyttäjien MFA-tilasta
  • Suunnittele Office 365 -käyttäjien viimeisimmän kirjautumisajankohdan raportti
  • Suunnittele Office 365 -postilaatikon käyttöoikeusraportti
  • Suunnittele Office 365 -käyttäjien käyttöoikeusraportti
  • Suunnittele Jakeluryhmän jäsenyys PowerShell-skripti
  • Suunnittele dynaaminen jakeluryhmän jäsenyys PowerShell-skripti
  • Jaksoittainen raportti Office 365 -käyttäjien viimeisimmästä toiminnasta raportti
  • Suunnittele Office 365 -käyttäjien kirjautumishistoriasta PowerShell-skripti raportti
  • Exportoi jaetun postilaatikon käyttöoikeusraportti jaksoittain
  • Jaksottele muut kuinowner mailbox access report
  • Office 365 users’ password expiry report

Tässä blogissa, olemme nähneet, miten PowerShell-skripti automatisoidaan tehtäväsuunnittelijan avulla.Kumpi on sinulle mieluisin lähestymistapa aikatauluttamisessa – GUI vai PowerShell? Kerro meille kommenteissa.

Jos tarvitset parannuksia, kuten ajastetun raportin saaminen sähköpostitse tai jotain muuta, olemme kuulolla 🙒

.

Vastaa

Sähköpostiosoitettasi ei julkaista.