Hallo zusammen,
ich brauche etwas Hilfe, da ich irgendwie seit tagen auf dem Schlauch stehe und einfach nicht weiter komme.
Meine suche im Netz hat leider nicht zum gewünschten Erfolg beigetragen....
Die Aufgabe ist:
1.Prüfen im Verzeichnis ob PDF Dateien liegen und diese dann als Anhang per Mail verschicken. <- funktioniert
2. E-Mail Empfänger aus dem Dateinamen der PDF lesen und verwenden <- funktioniert
3. Danach die PDF Dateien aus dem Verzeichnis löschen. <- Fehlermeldung
Ich möchte es gern in einem Skript lösen aber folgende Meldung erhalte ich:
Remove-Item : Das Element D:\Arbeit\pdf\outgo\test@tester.de.1pdf kann nicht entfernt werden: Der Prozess kann nicht auf die Datei "D:\Arbeit\pdf\outgo\test@tester.de.1pdf" zugreifen, da sie von einem
anderen Prozess verwendet wird.
In C:\Users\tester\Desktop\AnhangVersenden.ps1:51 Zeichen:1
+ Remove-Item $Attachment
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (D:\Arbeit\pdf\outgo\test@tester.de.1pdf:FileInfo) [Remove-Item], IOException
+ FullyQualifiedErrorId : RemoveFileSystemItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand
Das ist hier mein Skript...
# Get Hostname $ServerName = [System.Net.Dns]::GetHostName() ############################################## # Start from here to change ############################################## # E-Mail Variables $SMTP = "mail.tester" $Port = "25" $From = "abc@tester.de" #Arbeitsverzeichnis $Dateifilter = "D:\Arbeit\pdf\outgo\ " #Subject $subject="Meldung vom " + $ServerName + " @ " + $(Get-Date).ToString('dd/MM/yyyy HH:mm') + " Uhr" #Body File must be in HTML $BodyFile = Get-content D:\Arbeit\pdf\body.txt ############################################## # Until here!!! ############################################## # E-Mail initialize... ForEach($filename in Get-ChildItem -Force $Dateifilter -Name) { $Attachment = $Dateifilter+$filename $SmtpClient = new-object System.Net.Mail.SmtpClient $Mail = New-Object System.Net.Mail.MailMessage $SmtpClient.Host = "$SMTP" $Mail.from = "$From" $Mail.To.add([io.path]::GetFileNameWithoutExtension($filename)) $SMTPClient = New-Object Net.Mail.SmtpClient($SMTP, $Port) $SMTPClient.EnableSsl = $true # E-Mail content... $Mail.Subject = $subject $Mail.Body = "$BodyFile" $Mail.IsBodyHtml = $true $Mail.Attachments.Add($Attachment) $Mail.Priority = "Normal" # Sending E-Mail... $SmtpClient.Send($Mail) Remove-Item $Attachment -Debug }
Danke vorab für eure Hilfe!