Powershell per comprimere i file e inviare e-mail


-1

Powershell per comprimere i file e inviare e-mail.

Voglio 7zip il file di backup e inviarlo come e-mail. Di seguito ho fatto fino ad ora che leggerà file di testo e invieranno come e-mail. Invece voglio inviare tutti i file come e-mail.

param (
    [Parameter(Position=0,Mandatory=$true)] [string] $scriptPath

    )

$smtpSvr = "google.com"
$From = "abc@abc.com"
$To = "abc@abc.com"
$Subject = "Check log files attached"

[string]$messagebody = ""

$logs = Get-Content $Path\*.txt

foreach ($log in $logs )
{
    $messagebody = $messagebody + $log + "`r`n"
}

$smtp = New-Object Net.Mail.SmtpClient($smtpSvr)
$smtp.Send($From,$To,$Subject,$messagebody)

Questa domanda sarebbe più adatta a StackTranslate.it.

Ciao, benvenuto in SU, non siamo un servizio di scrittura di sceneggiature. Darci solo il codice per la parte funzionante non aiuta nessuno. :) Cosa hai già provato? Dove ti trovi esattamente bloccato zippando e attaccando i registri? Hai già esaminato questo e / o questo ?
Ƭᴇcʜιᴇ007,

Risposte:


0

Puoi usare il Send-MailMessagecmdlet? Con la funzione zip di Eld over allo stack overflow e le variabili che hai dichiarato ...

function ZipFiles( $zipfilename, $sourcedir )
{
   Add-Type -Assembly System.IO.Compression.FileSystem
   $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
   [System.IO.Compression.ZipFile]::CreateFromDirectory($sourcedir, $zipfilename, $compressionLevel, $false)
}

ZipFiles "c:\logfiles.zip" $scriptPath
Send-MailMessage -SmtpServer $smtpSvr -From $From -To $To -Subject $Subject -Attachments "C:\logfiles.zip" -Body $messagebody
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.