BoKat 0 Geschrieben vor 18 Stunden Melden Geschrieben vor 18 Stunden (bearbeitet) Hallo, ich bin neu mit PowerShell unterwegs und möchte via Script im Explorer ausgewählte Dateien an ein E-Mail anhängen. Die Einbindung in das Kontextmenü funktioniert. Für den Fall, dass ich nur eine Datei auswähle funktioniert mein Script. param( [string]$FilePath ) # Pfad zur Textdatei mit dem E-Mail-Text $emailTextPath = "W:\Kunden\EMailText.txt" $emailBody = Get-Content $emailTextPath -Raw # Outlook starten $outlook = New-Object -ComObject Outlook.Application $mail = $outlook.CreateItem(0) $mail.Subject = "Rechnungen" $mail.Body = $emailBody $mail.Attachments.Add($FilePath) $mail.Display() Für mehrere Dateien habe ich den Parameterteil wie folgt param( [Parameter(ValueFromRemainingArguments = $true)] [string[]] $files ) und das Einfügen der Dateien in das E-Mail wie folgt angepasst foreach ($filename in $files) { $mail.Attachments.Add($filename) } Die Commands in der Registry lauten für eine Datei (oben) und für mehrere Dateien (unten) powershell.exe -ExecutionPolicy Bypass -File "W:\Kunden\SendMail.ps1" "%1" powershell.exe -ExecutionPolicy Bypass -File "W:\Kunden\SendMail2.ps1" "%*" Leider bekomme ich auf diesem Weg nicht mehrere Dateien in das E-Mail. Was mache ich falsch? bearbeitet vor 17 Stunden von BoKat unwesentliche Informationen entfernt Zitieren
MurdocX 998 Geschrieben vor 16 Stunden Melden Geschrieben vor 16 Stunden Probiere es nicht mit dem klassischen Parameter, denn der wird nicht funktionieren. Nutze stattdessen $args. if($null -ne $args) { $args | ForEach-Object { Write-Host $_ } pause } Erstelle unter "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo" eine Verknüpfung zu deiner SendToPs.ps1-Datei. Zielpfad in der Verknüpfung: %ProgramFiles%\PowerShell\7\pwsh.exe -File "C:\Users\%username%\Desktop\SendToPs.ps1" Dann wirst du in diesem Beispiel beide Pfade angezeigt bekommen. In ForEach kannst du die Aufgaben implementieren. Ich hoffe das hilft Dir weiter. *Ergebnis Zitieren
MurdocX 998 Geschrieben vor 2 Stunden Melden Geschrieben vor 2 Stunden Ich hab mir das spaßeshalber mal gebaut. Das funktioniert ganz gut. Beachten solltest du aus Sicherheitsgründen das Skript an einem Ort abzulegen, dass du als Benutzer nicht ohne Admin-Berechtigung verändern kannst. Sonst kann hier mal schnell ungewollter Code ausgeführt werden. Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.