У меня есть сценарий, который я хотел бы динамически отправлять по электронной почте, содержащую некоторую информацию, и переходить к определенным людям в зависимости от того, кто в компании выполняет сценарий, благодаря ActiveDirectory.
У меня есть другая часть кода, которая определяет, из какого подразделения выполняется учетная запись пользователя или службы, поэтому ради этого вопроса не беспокойтесь об этом.
То, что я до сих пор, выглядит примерно так:
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 находится в формате:
Адрес электронной почты: doe.john@domain.com
Адрес электронной почты: doe.jane@domain.com
Этот формат необходимо преобразовать в пример с несколькими получателями, как показано выше.
Я не знаю, как правильно получить данные, отформатировать их и убедиться, что они остаются в том формате, который может использовать Send-Mailmessage.
TL; DR - должен быть способ, позволяющий захватывать адреса электронной почты каждого пользователя (ов) в данном подразделении в ActiveDirectory и форматировать эти / эти адреса электронной почты, чтобы они могли отправляться с использованием Send-MailMessage