gelöst PowerShell Script für MailVersand mit Anhang

Mitglied: klausk94

klausk94 (Level 1) - Jetzt verbinden

29.10.2020 um 11:22 Uhr, 618 Aufrufe, 20 Kommentare, 7 Danke

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
Mitglied: DerWoWusste
LÖSUNG 29.10.2020, aktualisiert um 11:40 Uhr
Hi.

Nimm mal die schicken Zeichen rund um den Pfad zum Anhang weg und ersetze diese durch "
Bitte warten ..
Mitglied: klausk94
29.10.2020, aktualisiert um 11:42 Uhr
Ist erl.
Jedoch keine Besserung.

Trotzdem Danke für den Tipp ;)
Bitte warten ..
Mitglied: manuel-r
LÖSUNG 29.10.2020 um 12:23 Uhr
Mahlzeit

Kannst du einfach mal mit einer einfachen .txt als Anhang testen? Nicht, dass irgendeine Instanz die angehängte .html aus der eMail entfernt...

Manuel
Bitte warten ..
Mitglied: mbehrens
LÖSUNG 29.10.2020 um 12:29 Uhr
Zitat von klausk94:

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.


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.
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 12:29 Uhr
Hallo Manuel,

wurde gemacht, jedoch auch ohne Erfolg.

Grüße
Klaus
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 12:31 Uhr
@mbehrens

kann dir da nicht ganz folgen.
Kannst du mir auf die Sprünge helfen?

Grüße
Klaus
Bitte warten ..
Mitglied: manuel-r
LÖSUNG 29.10.2020 um 12:36 Uhr
ist ein Array das explizit als String definiert ist. @mbehrens meint also du sollst anstelle eines Strings ein String-Array übergeben.

Manuel
Bitte warten ..
Mitglied: Tektronix
29.10.2020, aktualisiert um 12:39 Uhr
Moin,
email-anhang-powershell
Bitte warten ..
Mitglied: 146189
LÖSUNG 29.10.2020, aktualisiert um 13:25 Uhr
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
https://administrator.de/forum/email-anhang-powershell-360931.html#comme ...

Du mischst hier nur beide Varianten auch mit nicht vorhandenen Variablen, deshalb geht das nicht.
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 14:10 Uhr
Vielen Herzlichen Dank für eure Hilfe!

Ein kleines Ding hätte ich noch, die Datei die Angehängt wird, wird sich am Namen ändern
auf ein bestimmtes Datum.

Sprich ich würde gerne noch einen Schritt haben, dass das Script immer die "aktuelleste" Datei versendet.

Beispiel der Namen:
01_10_2020_log.html
05_10_2020_log.html
10_10_2020_log.html
29_10_2020_log.html

Wie kann ich das realisieren?

Grüße
Klaus
Bitte warten ..
Mitglied: manuel-r
LÖSUNG 29.10.2020, aktualisiert um 14:39 Uhr
Kein Problem
Manuel

PS:
Anstelle von LastAccessTime könntest du u.U. auch CreationTime verwenden. Das kommt drauf an, was du brauchst.
Bitte warten ..
Mitglied: 146189
29.10.2020, aktualisiert um 14:58 Uhr
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 dann
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 15:02 Uhr
@window

wenn ich folgendes in PS ausführe:
erhalte ich das als Ausgabe:
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 15:06 Uhr
Okay! Kommando zurück, das war meine Unfähigkeit! Bitte Entschuldige.

Was ich jetzt als letztes Problem für heute hätte ist, dass zwar die Abfrage zur aktuellsten Datei existiert, er mir aber trotzdem nicht die aktuellste schickt.

Aktuell gibts zwei Dateien in dem C:\temp Ordner
eine generiert um 9:54 Uhr und eine um 11:02Uhr.

senden tut er mir nur die von 09:54Uhr und nicht die von 11:02Uhr

Oder hab ich Tomaten auf den Augen...

Grüße
Klaus
Bitte warten ..
Mitglied: 146189
LÖSUNG 29.10.2020, aktualisiert um 15:08 Uhr
Bitte nochmal ganz genau den Code aus dem anderen Beitrag ansehen, und nicht immer vorschnell posten bitte! Danke...
Steht ja schon in der Fehlermeldung ....
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 15:08 Uhr
Uff... Was trag ich dann dort ein?
Bitte warten ..
Mitglied: 146189
29.10.2020 um 15:08 Uhr
s.o.
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 15:13 Uhr
Sorry ich glaub ich bin grad echt bissl überfordert oder ich hab zu viel im Kopf...


$User = "USER"
$File = "C:\LoginSendMailPW.txt"
$cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $File | ConvertTo-SecureString)
$EmailTo = "ZU"
$EmailFrom = "VON"
$Subject = "[KD-Nummer] WindowsUpdate-Report"
$Body = "Dies ist eine automatisch generierte Nachricht.
Bitte antworten Sie nicht auf diese!"
$SMTPServer = "smtp.office365.com"
$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 -First 1
$filenameAndPath = "C:\temp\PSLogReport.html"
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body)
$attachment = New-Object System.Net.Mail.Attachment($filenameAndPath)
$SMTPMessage.Attachments.Add($attachment)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($cred.UserName, $cred.Password);
$SMTPClient.Send($SMTPMessage)

Gehe ich der Annahme richtig, bitte korregiere mich wenn ich Falsch bin:
$SMTPMessage.Attachments.Add($attachment) -> Sagt, füge einen Anhang hinzu der dem Wert $attachment entspricht
$attachment -> Sagt, neues Objekt, dass du dir holen sollst von $filenameAndPath
$filenameAndPath -> gibt den Pfad zur Datei an die versendet wird

Wo hab ich denn jetzt meinen Haken
Bitte warten ..
Mitglied: 146189
29.10.2020, aktualisiert um 15:18 Uhr
Wo hab ich denn jetzt meinen Haken
Wie gesagt Brille aufsetzen, falsche Variable benutzt ....
Bitte warten ..
Mitglied: klausk94
29.10.2020 um 15:45 Uhr
Sorry, ich werde daraus nicht schlau.
Kannst du mir die Lösung sagen?
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Wie geht ihr mit grantigen "Kunden" um?
AbstrackterSystemimperatorErfahrungsberichtOff Topic24 Kommentare

Moin Kollegen, mal eine Offtopic Frage in die Runde gestellt. Wie geht ihr mit grantigen "Kunden" (interne IT) / ...

Windows Server
Druckserver Domäne GPO
arik12FrageWindows Server22 Kommentare

Hallo zusammen, Ich möchte einen Druckserver einrichten und Drucker auf dem Druckserver installieren. Die Drucker sollen dann per GPO ...

Netzwerke
Sicherheitsbetrachtung virtualisierte Umgebung
gelöst Philipp711FrageNetzwerke22 Kommentare

Hallo liebe Community, ich habe eine kleine Frage bzgl. der Netzwerksicherheit in virtualisierten Umgebungen. Beispiel: Ich habe einen Hypervisor ...

Exchange Server
Exchg2016: ECP-Anzeigefehler oder echtes Problem?
winackerFrageExchange Server13 Kommentare

Hallo, mein Exchg16 (auf SRV16) hat ein Phäomen was bislang keiner aufklären kann - und ich weiß nicht ob ...

Off Topic
Adventskalender 2020
LochkartenstanzerInformationOff Topic12 Kommentare

Was haltet ihr von einer Sammlung von Adventskalendern? (Hier im Thread z.B.) Ich fang mal mit dem Heise-Kalender an: ...

Server-Hardware
Hp Proliant ml350 g5 kommt nicht zum POST
jetstream3000FrageServer-Hardware12 Kommentare

Hallo Forum So hab mir einen Hp Server zum herumprobieren gekauft hat auch alles funktioniert hat zwei Intel Xeon ...

Ähnliche Inhalte
Batch & Shell
Email mit Anhang über Powershell?
gelöst TaubeTecIncFrageBatch & Shell21 Kommentare

Ich hätte da mal eine frage unzwar wie man eine email mit powershell und mit anhang versendet. weiß bis ...

Batch & Shell

Ausgabe in Powershell für Mailversand formatieren

gelöst MarciMarc85FrageBatch & Shell2 Kommentare

Ich habe ein Powershellscript, was ausstehende Windows Updates per Aufgabenplanung installiert und den Server neustartet. Das Script kann auch ...

Batch & Shell

Powershell Script WebClient.DownloadFile

gelöst PeterleBFrageBatch & Shell2 Kommentare

Da das Thema mit dem Downloadscript schon als gelöst markiert ist, (Proxy Download) hier noch eine Frage zur Anweisung: ...

Batch & Shell

Powershell CleanTemp Script

gelöst PeterleBFrageBatch & Shell12 Kommentare

Hallo, nachdem mir killpid sehr geholfen hat, ein entsprechendes Script als Batch-Datei zu erstellen, (Meine Frage) folge ich nun ...

Windows Server

PowerShell script Hilfestellung

oscarpapaFrageWindows Server2 Kommentare

Guten Tag Administrator-User, ich bin auf der Suche nach Hilfestellung für eine Powershell Skript, hier mal kurz eine Beschreibung, ...

Batch & Shell

Script in Powershell

gelöst EverestFrageBatch & Shell27 Kommentare

Hallo PS-Scriptler, hat jemand von euch ein Script, der bestimmte User (z.B. administrator) in der Domain ausließt, welcher angibt ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud