Odesílání e-mailů z prostředí PowerShell přes Exchange Server

Odesílání e-mailů z PowerShellu pomocí Exchange Server 2019

Pokud chcete vědět o odesílání e-mailů z PowerShellu, jste na správném místě.

Mnoho administrátorů a uživatelů si nastavuje předdefinované zprávy, které musí znovu a znovu psát.

Přečtěte si také:Plánovač úloh pro spouštění skriptů PowerShell a e-mailových upozornění

Místo toho, aby zprávu psali znovu a znovu, uloží ji jako šablonu a provedou drobné změny a poté e-mail odešlou.

Stejným způsobem, pokud musíte posílat nějaké denní zprávy o aktivitě uživatele.

Nejrychlejším způsobem odeslání zprávy je PowerShell.

Předdefinované zprávy můžete uložit, provést potřebné změny a vložit je do prostředí PowerShell, abyste e-mail odeslali.

Můžete však uložit kód jako skript a spustit stejný skript pro odesílání zprávy denně.

I s pomocíPowerShell, můžete poslat e-mail i s přílohou.

V tomto článku se tedy naučíme, jak poslat jednoduchý e-mail přes PowerShell.

Proto také uvidíme, jak můžeme vygenerovat csv zprávu a odeslat e-mail spolu s přílohou.

Jak odeslat e-mail pomocí PowerShell bez přílohy

Před odesláním e-mailu přes PowerShell se ujistěte, že máte ve vaší organizaci spuštěnou e-mailovou službu, jako je Exchange Server nebo jakákoli jiná e-mailová platforma, která tuto funkci podporuje.

Tady v našem případě mámeMicrosoft Exchange 2019běžící v organizaci.

Takže s pomocíVýměna, odešleme e-mail pomocí PowerShell.

K odeslání e-mailu bez přílohy však potřebujeme jednoduchý kód.

Naformátujte níže uvedený kód podle vašich údajů

$sendMailMessageSplat = @{
    From = 'Administrator <[email protected]>'
    To = 'Jack <[email protected]>'
    Subject = 'Test mail'
    Body = 'Pls find the user daily report'
    smtpServer = 'mail.techijack.net' 
}
Send-MailMessage @sendMailMessageSplat

Můžete změnit „Od, Komu, Předmět, Tělo a SmtpServer“

Ujistěte se, že jste zadali svou platnou e-mailovou adresu a server SMTP

Po provedení výše uvedeného kódu jsme obdrželi e-mail do schránky uživatele Jacka, jak je uvedeno níže

Úspěšně jsme tedy odeslali e-mail s PowerShell.

Jak odeslat e-mail z PowerShellu s přílohou

Odeslání e-mailu s přílohou je trochu složitější.

Zde použijeme skript k vytvoření nejprve azprávysložka uvnitřPohon C

Proto vygenerujeme CSV přehled pro aktivitu posledního přihlášení všech uživatelů podle názvu přehledu a aktuálního data.

Nakonec vygenerovanou zprávu připojíme k e-mailu a zašleme ji uživateli, Jacku.

K tomu použijeme níže uvedený skript

$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

Podle svého nastavení můžete nastavit cestu sestavy, e-mailovou adresu a server SMTP.

Tento kód můžete otestovat a pokud funguje, uložte jej jako soubor skriptu „DailyReport.ps1“.

Stejně jako v našem případě uložíme tento soubor skriptu na jednotku C.

Spustíme skript níže

c:dailyReport.ps1

Po úspěšném spuštění skriptu bude odeslán e-mail spolu s přílohou zprávy.

A náš soubor s přehledem CSV se zobrazí níže

Tímto způsobem tedy můžete odeslat denní přehled jako přílohu vašeho e-mailu.

Úvaha o automatizaci

Pokud je to každodenní úkol, získat informace o posledním přihlášení pro všechny uživatele v organizaci.

Můžete se pokusit proces automatizovat pomocí plánovače úloh a spouštět úlohu na denní bázi.

Spustí tedy stejný skript v daném časovém intervalu a automaticky budete dostávat denní přehled každý den v pevně stanovený čas.

Závěr

Abychom Vám usnadnili práci v administraci pro automatický reporting.

Správce by měl použít několik skriptů k vygenerování přehledu ve formátu CSV nebo HTML.

Pomocí PowerShellu spusťte skript a odešlete sestavu jako přílohu odpovědné straně.

Proto pro automatizaci můžete naplánovat úlohu tak, aby spustila konkrétní skript v konkrétní čas, abyste dostali upozornění e-mailem.

V případě jakýchkoliv dotazů k tomuto článku neváhejte kontaktovat Techi Jack

Doufám, že se vám budou líbit i další výukové programy na Exchange Server

Pokud se navíc chcete podívat na video pro odeslání e-mailu ze skriptu PowerShell, podívejte se na video níže.

Related Posts