Я пытаюсь написать сценарий Powershell, который выполняет следующие действия:
- Проверьте все файлы в каталоге на правильность строки
- Возьмите каждый файл, который содержит эту допустимую строку и затем отправьте их в виде вложения электронной почты
Мне все равно, будет ли отправлено одно письмо со всеми действительными файлами или будет отправлено письмо для каждого действительного файла.
Следующий код - это то, что у меня есть, но он выдает ошибку при попытке прикрепить файлы, говоря Send-MailMessage: Не удается найти диск. Диск с именем '
$ValidFiles = Get-ChildItem -Path C:\Results -Recurse |
Select-String -Pattern "Test" |
Select-Object -Unique Path
foreach ($ValidFile in $ValidFiles)
{
$From = 'test <test@test.com>'
$To = 'me <me@test.com>'
$Subject = "Valid File Found"
$Username = "Test-Domain\test"
$Password = ConvertTo-SecureString "notrealpassword" -AsPlainText -Force
$Creds = New-Object System.Management.Automation.PSCredential($username, $password)
$Body = "Please review the attached files"
$Attachment = $ValidFile | Out-String
$SMTPServer = "test-com.mail.protection.outlook.com"
Send-MailMessage -From $From -To $To -Subject $Subject -Credential ($Creds) -Attachments $Attachment -UseSsl -Body $Body -DeliveryNotificationOption OnSuccess, OnFailure -SmtpServer $SMTPServer
}
Любая помощь будет принята с благодарностью.