Automatiser Task Scheduler for at køre PowerShell Script til e-mail-advarsler
Hvis du vil indstille opgaveplanlæggeren til at køre et PowerShell-script for at generere daglige rapporter, skal du modtage det som en vedhæftet fil i e-mail.
Det kan du nemt gøre ved hjælp af Task Scheduler og et PowerShell-script.
For at e-maile den som en vedhæftet fil, skal du have Exchange Server i din organisation.
I denne artikel vil vi køre PowerShell-scriptet for at generere den daglige rapport for brugerens sidste logon.
Derfor vil vi køre scriptet kl. 1 på daglig basis og vil modtage rapporten som vedhæftet e-mail.
Ved at planlægge det på daglig basis, vil vi automatisk modtage en e-mail hver dag vedrørende brugerens sidste logon i vores e-mail.
Denne automatisering vil reducere arbejdsbyrden for en administrator og hjælpe med at administrere brugere og computere nemt.
Vores første skridt er at forberede vores PowerShell-script, som vi ønsker at automatisere.
I vores tilfælde har vi Exchange 2019 installeret, og vi planlægger opgaven i selve Exchange Server.
Vi har følgende script ved navn dailyReport.PS1 er gemt inde i C-drevet.
$Date = Get-Date -Format "yyyy-MM-dd"
$ReportFolder = "C:Reports"
if (!(Test-Path $ReportFolder)) {
New-Item -ItemType Directory -Path $ReportFolder
}
$ReportFile = "$ReportFolderDailyReport_$Date.csv"
# Export AD Users
$Users = Get-ADUser -Filter * -Property SamAccountName, DisplayName, Enabled, LastLogonDate
$Users | Export-Csv $ReportFile -NoTypeInformation -Encoding UTF8
# Send Email with Report Attachment
$sendMailMessageSplat = @{
From = 'Administrator <[email protected]>'
To = 'Jack <[email protected]>'
Subject = 'Daily User Report'
Body = 'Please find the attached user daily report.'
SmtpServer = 'mail.techijack.net'
Attachments = $ReportFile
}
Send-MailMessage @sendMailMessageSplat

Indstil Task Scheduler til at køre PowerShell-scriptet
ÅbnOpgaveplanlægger
Når den er åben, skal du højreklikke på Task Scheduler og klikke påOpret grundlæggende opgave
Læs mere:Sådan rydder du meddelelser og advarsler på iPhone/iPad


Navngiv nu opgaven, som i vores tilfælde kaldte vi den "Daglig rapport for brugeres sidste logon" og klik på næste.


Når du har klikket på næste, skal du vælge indstillingen Dagligt for at starte opgaven


Når du fortsætter med Næste, skal du indstille datoen og klokkeslættet for at køre opgaven og fortsætte med næste.
I vores tilfælde satte vi opgaven til at køre klokken 1:00


Derfor får du nu skærmen til at starte programmet.
Vælg indstillingen "Start et program", og fortsæt mednæste skridt.
På den næste skærm vil den bede om programmet/scriptet, tilføje argumenter og starte ind.
Skriv PowerShell i Program Script
Derfor, i Tilføj argumenttype-NoProfile -ExecutionPolicy Bypass -Fil "C:dailyreport.ps1"
Og i Start i Type c:


Bemærk: Vi har vores "dailyreport.ps1" inde i C:-drevet, det samme som vi har angivet i argumentet, sørg for at indstille stien og scriptfilen i overensstemmelse med din konfiguration.
Klik nu videreNæsteogslutteden grundlæggende opgaveguide.
Så vi har med succes konfigureretopgaveplanlæggerfor at vores script skal køre kl. 01:00
Når klokken når 01:00, kører dette script, og vi modtager e-mailen i vores jack-brugers indbakke.
Kontrollerer resultat i e-mail
Scriptet kørte med succes, og vi modtog e-mailen i Jack-brugerens indbakke
Nu kan du se, at vi har en e-mail-vedhæftet fil med navnet Daily Report med datoen.


Konklusion
Du kan indstille scriptet til din ønskede rapport og sende det som en vedhæftet fil i e-mailen.
Opgaveplanlægning hjælper med at køre scriptet på daglig basis, så du kan modtage en vedhæftet fil hver dag.
Du kan tilføje flere scripts og få e-mail-advarsler for at reducere din daglige arbejdsbyrde.
Hvis du har problemer med denne artikel. Kontakt gerne.
Jeg håber, du også vil kunne lide nogle flere tutorials på Exchange Server.
Desuden, hvis du vil se artiklen i aktion, kan du se videoen nedenfor til Automatisering af opgaveplanlægning for at køre et PowerShell-script.













