у меня есть скрипт, который я хотел бы динамически отправить по электронной почте, содержащий некоторую информацию, и перейти к определенным людям на основе того, кто в компании работает сценарий благодаря ActiveDirectory.
у меня есть еще одна часть кода, которая определяет, какой OU пользователь или учетная запись службы запускает это, поэтому ради этого вопроса не беспокойтесь об этом.
то, что у меня до сих пор что-то вроде этого:
function SendEmail
{
Send-MailMessage -To $Recipients -From "Info <noreply@domain.com>" -Subject "Account Report" -Body $Body -SmtpServer smtpserver.domain.com
}
$To = Get-ADUser -Filter "(Name -like '*')" -Properties Name, EmailAddress -Searchbase $OUDetected | Format-List EmailAddress | Out-String
Я пытаюсь использовать Командлет Send-MailMessage, но сообщения электронной почты должны отправляться получателям в определенном формате.
единый получатель:
"John Doe <doe.john@domain.com>"
несколько получателей должны выглядеть так:
"John Doe
<doe.john@domain.com>", "Jane Doe <doe.jane@domain.com>"
вопрос хитрый, то в результате $To в формате:
значение emailaddress: doe.john@domain.com
EmailAddress: doe.jane@domain.com
этот формат должен быть преобразован в пример с несколькими получателями, как показано выше.
Я затрудняюсь, как правильно захватить данные, отформатировать их и убедиться, что они остаются в формате, который может использовать Send-Mailmessage.
TL;DR - должен быть способ, который захватывает адреса электронной почты каждого пользователя (пользователей) в данном подразделении в ActiveDirectory и форматирует этот / эти адреса электронной почты, чтобы он мог отправлять с помощью Отправить-Получить Помощь