PowerShell Script für MailVersand mit Anhang
Hallo Zusammen,
ich bin aktuell etwas am verzweifeln an einem PS Script für den Emailversand...
Das Script funktioniert, jedoch wird mir kein Anhang in die Mail angehängt.
Die Datei sowie der Pfad sind existent.
Die PS wird mit Administratorenrechten gestartet.
Anbei das Script:
Wenn jemand mir n Tipp geben könnte wäre das super!
Vielen Dank im Voraus
Grüße
Klaus
ich bin aktuell etwas am verzweifeln an einem PS Script für den Emailversand...
Das Script funktioniert, jedoch wird mir kein Anhang in die Mail angehängt.
Die Datei sowie der Pfad sind existent.
Die PS wird mit Administratorenrechten gestartet.
Anbei das Script:
## e-mail notfication
$EmailFrom = "VON@DOMAIN.de"
$EmailTo = "AN@DOMAIN.de"
$Subject = "[TimedWindowsUpdates] WindowsUpdatesAuslesen und VersandViaMail"
$Body = "Nachrichttext?"
$SMTPServer = "smtp.office365.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("VON@DOMAIN.de", "Passwort");
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
$attached_file=“C:\temp\PSLogReport.html“
if($email_receiver.count -gt 0){}
foreach($receiver in $email_receiver){
write-host "-send email to: "$receiver
send-mailmessage -from $email_sender -to $receiver -subject $email_subject -Body "see attached file" -Attachments $attached_file -dno onSuccess,
onFailure -smtpServer $email_server
}
Wenn jemand mir n Tipp geben könnte wäre das super!
Vielen Dank im Voraus
Grüße
Klaus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 617207
Url: https://administrator.de/contentid/617207
Ausgedruckt am: 21.11.2024 um 21:11 Uhr
20 Kommentare
Neuester Kommentar
ich bin aktuell etwas am verzweifeln an einem PS Script für den Emailversand...
Das Script funktioniert, jedoch wird mir kein Anhang in die Mail angehängt.
Das Script funktioniert, jedoch wird mir kein Anhang in die Mail angehängt.
attached_file=“C:\temp\PSLogReport.html“
Wenn jemand mir n Tipp geben könnte wäre das super!
Der Parameter Attachments erwartet doch einen Wert vom Typ String und nicht vom Typ String.
string
Manuel
Da mischt einer den SMTPClient mit Send-Mailmessage . Denn dem das sind zwei völlig verschiedene paar Schuhe min Jung . Btw. beide sind mittlerweile als veraltet markiert und nicht mehr empfehlenswert. Würde daher besser gleich zu Mailkit raten das auch moderne Methoden unterstützt.
Wilst du trotzdem weiterhin den SMTPClient nutzen, siehe den Link von Tektronix
Email mit Anhang über Powershell?
Du mischst hier nur beide Varianten auch mit nicht vorhandenen Variablen, deshalb geht das nicht.
Wilst du trotzdem weiterhin den SMTPClient nutzen, siehe den Link von Tektronix
Email mit Anhang über Powershell?
Du mischst hier nur beide Varianten auch mit nicht vorhandenen Variablen, deshalb geht das nicht.
Kein Problem
Manuel
PS:
Anstelle von LastAccessTime könntest du u.U. auch CreationTime verwenden. Das kommt drauf an, was du brauchst.
$Suchpfad = "c:\temp"
$NeuesteDatei = Get-ChildItem -Path $Suchpfad | Sort-Object LastAccessTime -Descending | Select-Object -First 1
$NeuesteDateiNurName = $NeuesteDatei.name
$NeuesteDateiMitPfad = $NeuesteDatei.fullname
Manuel
PS:
Anstelle von LastAccessTime könntest du u.U. auch CreationTime verwenden. Das kommt drauf an, was du brauchst.
Beispiel der Namen:
01_10_2020_log.html
05_10_2020_log.html
10_10_2020_log.html
29_10_2020_log.html
Oder wenn es zwingend das Datum aus dem Dateinamen sein muss das ausgewertet werden soll dann01_10_2020_log.html
05_10_2020_log.html
10_10_2020_log.html
29_10_2020_log.html
$latestfile = ls 'C:\temp' -file -Filter *.html | ?{$_.Basename -match '(\d{2})_(\d{2})_(\d{4})'} | sort {get-date "$($matches[3])-$($matches[2])-$($matches[1])"} -Desc | select -F 1
$latestfile.FullName
Bitte nochmal ganz genau den Code aus dem anderen Beitrag ansehen, und nicht immer vorschnell posten bitte! Danke...
Steht ja schon in der Fehlermeldung ....
$SMTPMessage.Attachments.Add($filenameAndPath)
s.o.
Wo hab ich denn jetzt meinen Haken
Wie gesagt Brille aufsetzen, falsche Variable benutzt ....